home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 351-375 / disk_370 / sksh / reference.doc < prev    next >
Text File  |  1992-05-06  |  141KB  |  7,195 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.                                   Reference Manual 
  18.  
  19.                                          SKsh
  20.  
  21.                             A ksh-like Shell for the Amiga
  22.  
  23.                                      Version 1.5
  24.  
  25.  
  26.                                 (Copyright) 1989, 1990
  27.  
  28.                                      Steve Koren
  29.  
  30.                                     July 20, 1990
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.           Table of Contents
  74.  
  75.  
  76.                Introduction......................................4
  77.                !, !!.............................................5
  78.                _ANSI.............................................6
  79.                _DIR_.............................................7
  80.                _FILE_............................................7
  81.                _EXEC_............................................7
  82.                alias.............................................8
  83.                aliases...........................................9
  84.                AREXX_PORT........................................10
  85.                argcount..........................................11
  86.                SKSHINIT..........................................12
  87.                sksh..............................................13
  88.                basename..........................................14
  89.                break.............................................15
  90.                builtins..........................................16
  91.                case/esac.........................................17
  92.                cat...............................................18
  93.                cd................................................19
  94.                chmod.............................................20
  95.                clear, cls........................................21
  96.                CLINUM............................................22
  97.                CMDNUM............................................23
  98.                COLUMNS...........................................24
  99.                continue..........................................27
  100.                ctpri.............................................28
  101.                date..............................................29
  102.                dec...............................................30
  103.                dir...............................................31
  104.                dirname...........................................32
  105.                dwclist...........................................33
  106.                echo..............................................35
  107.                eval..............................................36
  108.                exit..............................................37
  109.                export............................................38
  110.                false.............................................41
  111.                for/do/done.......................................42
  112.                force.............................................43
  113.                function..........................................44
  114.                functions.........................................45
  115.                getenv............................................46
  116.                history...........................................47
  117.                HISTSIZE..........................................48
  118.                HOME..............................................49
  119.                IFS...............................................51
  120.                inc...............................................52
  121.                info..............................................53
  122.                LINES.............................................55
  123.                ll................................................56
  124.                LLMIN.............................................57
  125.                local.............................................58
  126.                LOGOUT............................................59
  127.  
  128.  
  129.           SKsh Amiga Shell             Page 2             Reference Manual
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.                ls................................................60
  140.                match.............................................62
  141.                MAXDIST...........................................63
  142.                mem...............................................64
  143.                mkdir.............................................65
  144.                mv................................................66
  145.                OLDPWD............................................67
  146.                options...........................................68
  147.                PATH..............................................71
  148.                path..............................................72
  149.                PNPC..............................................73
  150.                preparse..........................................74
  151.                printf............................................75
  152.                ps................................................76
  153.                PS1...............................................77
  154.                PS2...............................................78
  155.                PWD...............................................79
  156.                pwd...............................................80
  157.                quit..............................................81
  158.                read..............................................82
  159.                resident..........................................83
  160.                return............................................84
  161.                rm................................................85
  162.                rmdir.............................................86
  163.                ROOT..............................................87
  164.                set...............................................88
  165.                setmap............................................89
  166.                SHELL.............................................92
  167.                shift.............................................93
  168.                SIZE..............................................94
  169.                sleep.............................................95
  170.                source............................................96
  171.                stack.............................................97
  172.                SYSNAME...........................................98
  173.                time..............................................99
  174.                touch.............................................100
  175.                true..............................................101
  176.                unalias...........................................102
  177.                unfunc............................................103
  178.                unset.............................................104
  179.                variables.........................................105
  180.                version...........................................106
  181.                whence............................................107
  182.                which.............................................108
  183.                while/do/done.....................................109
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.           SKsh Amiga Shell             Page 3             Reference Manual
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.           Introduction
  206.  
  207.             This  reference manual describes each SKsh command, variable,
  208.             alias,  or  function in a concise manner.  Each page contains
  209.             the following information:
  210.  
  211.             Name:     The name of the command, alias, etc.
  212.  
  213.             Type:     Variable, Alias, Function, Builtin, or Keyword.
  214.  
  215.             Default:  The default value for variables, or definition  for
  216.                       aliases.
  217.  
  218.             Usage:    Command syntax
  219.  
  220.             Range:    Legal values for variables or parameters
  221.  
  222.             About:    Text describing the command, variable, etc.
  223.  
  224.             Example:  A brief example usage.
  225.  
  226.             See Also: Other related commands, variables, etc.
  227.  
  228.             When  reading the command syntax, anything in square brackets
  229.             is  optional.    Anything  followed by three dots can be  re-
  230.             peated any  number of times.  A vertical bar is used to sepa-
  231.             rate  option where one or the other, but  not  both,  can  be
  232.             used.
  233.  
  234.             In  general,  options to  commands are preceded by a dash ('-
  235.             ').  The dash  character passed alone tells a command to stop
  236.             reading  options.   This  can  be  useful to pass a dash as a
  237.             parameter.  For example,
  238.  
  239.                     echo - -
  240.  
  241.             would print a single dash.  Also,  'command -a -b' is equiva-
  242.             lent to 'command -ab'.
  243.  
  244.             In  version 1.4 and later of SKsh, the  documentation for ex-
  245.             ternal  binary  commands has been moved  to  the  ExtCmds.doc
  246.             file.
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.           SKsh Amiga Shell             Page 4             Reference Manual
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.           _________________________________________________________________
  272.  
  273.             Name:     !, !!
  274.  
  275.             Type:     Alias
  276.  
  277.             Default:  history -e
  278.                       history -e -1
  279.  
  280.             Usage:    ! [ pattern | abs_num | rel_num ]
  281.                       !!
  282.  
  283.             Range:    n/a
  284.  
  285.             About:    These  two  aliases  provide an easy way to use the
  286.                       history  -e  command.  !! will execute the previous
  287.                       command from the  history list by executing history
  288.                       -e  -1.    ! will  execute a specified command from
  289.                       the  history list.  This command can either specify
  290.                       an  absolute  number,  a  relative  offset from the
  291.                       most  recent  command  (the  offset should be nega-
  292.                       tive), or a  partial line or pattern to search for.
  293.                       If  a  search  pattern is given, it should  be  en-
  294.                       closed in quotes so  that  SKsh  does  not  attempt
  295.                       file name generation on the wildcard pattern.
  296.  
  297.             Example:  ! cc
  298.  
  299.             See Also: history
  300.  
  301.           _________________________________________________________________
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.           SKsh Amiga Shell             Page 5             Reference Manual
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.           _________________________________________________________________
  338.  
  339.             Name:     _ANSI_BS
  340.                       _ANSI_BE
  341.                       _ANSI_IS
  342.                       _ANSI_IE
  343.                       _ANSI_US
  344.                       _ANSI_UE
  345.                       _ANSI_P1
  346.                       _ANSI_P2
  347.                       _ANSI_P3
  348.                       _ANSI_CLEAR
  349.  
  350.             Type:     Variable
  351.  
  352.             Default:  "^[[1m"                (bold-start)
  353.                       "^[[m"                 (bold-end)
  354.                       "^[[3m"                (italic-start)
  355.                       "^[[m"                 (italic-end)
  356.                       "^[[4m"                (underline-start)
  357.                       "^[[m"                 (underline-end)
  358.                       "^[[0;31;40m"          (pen-1)
  359.                       "^[[0;32;40m"          (pen-2)
  360.                       "^[[0;33;40m"          (pen-3)
  361.                       "^[[H^[[2J"            (clear screen)
  362.  
  363.             Usage:    $_ANSI_??
  364.  
  365.             Range:    n/a
  366.  
  367.             About:    These  variables are set by SKsh to valid ANSI  es-
  368.                       cape  sequences  which  control the  Amiga  console
  369.                       device.  They can be  used  in  echo  statements or
  370.                       prompts.
  371.  
  372.                       Since  these  variables,  when  output,  affect the
  373.                       console  device, they are not normally displayed by
  374.                       the set command.
  375.  
  376.             Example:  echo $_ANSI_CLEAR      # clear the screen
  377.  
  378.             See Also: echo
  379.  
  380.           _________________________________________________________________
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.           SKsh Amiga Shell             Page 6             Reference Manual
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.           _________________________________________________________________
  404.  
  405.             Name:     _DIR_S
  406.                       _DIR_E
  407.                       _FILE_S
  408.                       _FILE_E
  409.                       _EXEC_S
  410.                       _EXEC_E
  411.  
  412.             Type:     Variable
  413.  
  414.             Default:  "$_ANSI_P3"            (dir-start)
  415.                       "$_ANSI_P1"            (dir-end)
  416.                       NULL                   (file-start)
  417.                       NULL                   (file-end)
  418.                       NULL                   (exec-start)
  419.                       NULL                   (exec-end)
  420.  
  421.             Usage:
  422.  
  423.             Range:    n/a
  424.  
  425.             About:    These  variables  control the display format of the
  426.                       'ls'  command when the '-F' option is set (as it is
  427.                       by  default when the  'dir'  or  'll'  commands are
  428.                       used).   Before printing each file name (whether in
  429.                       a short or long  format listing), SKsh will examine
  430.                       the file type.  If the it is a  directory, the con-
  431.                       tents of the _DIR_S  variable is printed.  If it is
  432.                       a  file,  the  contents of _FILE_S is printed.   If
  433.                       the 'e' bit is set, _EXEC_S is  printed.   (Because
  434.                       of this, it  is  possible to print more than one of
  435.                       the above  variables if the name is both a file and
  436.                       has its 'e' bit set).
  437.  
  438.                       In a  similar manner, the contents of the appropri-
  439.                       ate  _FILE_E,  _DIR_E,  and  _EXEC_E  variables  is
  440.                       printed  after the file name.  This allows the for-
  441.                       mat of the directory listing to be customized.
  442.  
  443.                       These  variables are only  output when the '-F' op-
  444.                       tion  is  used.   Also,  their  contents is printed
  445.                       verbatim; it is not  expanded as with 'PS1'.  Thus,
  446.                       any  variables should be  expanded when these vari-
  447.                       ables are set, as in the example below.
  448.  
  449.             Example:  _FILE_S="$_ANSI_US"   # underline file names
  450.                       _FILE_E="$_ANSI_UE"
  451.  
  452.             See Also: ls, dir, ll
  453.  
  454.           _________________________________________________________________
  455.  
  456.  
  457.  
  458.  
  459.           SKsh Amiga Shell             Page 7             Reference Manual
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.           _________________________________________________________________
  470.  
  471.             Name:     alias
  472.  
  473.             Type:     Builtin
  474.  
  475.             Default:  n/a
  476.  
  477.             Usage:    alias [ pattern | string [ '=' ] string ]
  478.  
  479.             Range:    n/a
  480.  
  481.             About:    The alias  builtin command (not to be confused with
  482.                       'aliases',  which  is  itself an  alias) is used to
  483.                       set and list aliases.  If given  no  parameters, it
  484.                       simply acts as a 'set -a' command.   If  given  one
  485.                       parameter, which is  a  pattern, all aliases match-
  486.                       ing that  pattern are printed.  If given two param-
  487.                       eters (or  there  where  the  second is a '='), the
  488.                       first  string  becomes an  alias  with  the  second
  489.                       string as its definition.
  490.  
  491.                       Aliases  are  expanded when used as a command.  Any
  492.                       arguments  are  appended to the text of the aliases
  493.                       and the resulting string is executed.
  494.  
  495.                       Unlike  ksh and sh, there can be spaces surrounding
  496.                       the '=' sign, which is itself optional.
  497.  
  498.             Example:  alias foo='echo "This is the foo alias"'
  499.  
  500.             See Also: set, alias, unalias
  501.  
  502.           _________________________________________________________________
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.           SKsh Amiga Shell             Page 8             Reference Manual
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.           _________________________________________________________________
  536.  
  537.             Name:     aliases
  538.  
  539.             Type:     Alias
  540.  
  541.             Default:  set -a
  542.  
  543.             Usage:    aliases [-s] [pattern]
  544.  
  545.             Range:    n/a
  546.  
  547.             About:    This  alias  lists  defined aliases.   The  pattern
  548.                       uses  normal wildcards, but must be quoted to avoid
  549.                       being   interpreted  by  the   filename   expansion
  550.                       mechanism.  If the  pattern is omitted, all aliases
  551.                       in the  current context are listed except those be-
  552.                       ginning with an underscore (hidden aliases).
  553.  
  554.                       Only aliases  for  the  current context are listed,
  555.                       so this  command may have a different effect inside
  556.                       of   a   subshell  or   function  than  when  typed
  557.                       manually.
  558.  
  559.             Example:  aliases -s '[a-h]*'
  560.  
  561.             See Also: set, alias
  562.  
  563.           _________________________________________________________________
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.           SKsh Amiga Shell             Page 9             Reference Manual
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.             _________________________________________________________________
  602.  
  603.             Name:     AREXX_PORT
  604.  
  605.             Type:     Variable
  606.  
  607.             Default:  SKSH or SKSH_$CLINUM
  608.                       unset if no ARexx port available
  609.  
  610.             Usage:    $AREXX_PORT
  611.  
  612.             Range:    n/a
  613.  
  614.             About:    This variable contains the name of the  ARexx  port
  615.                       opened by SKsh open invocation.  The variable  will
  616.                       be unset  if  SKsh  did  not  open  an  ARexx  port
  617.                       (either because it was told not  to,  or  it  could
  618.                       not because ARexx was not installed).
  619.  
  620.             Example:  if [ -z "$AREXX_PORT" ]
  621.                       then
  622.                          echo "This SKsh does not have an ARexx port"
  623.                       else
  624.                          echo "The ARexx port name is $AREXX_PORT"
  625.                       fi
  626.  
  627.             See Also: sksh
  628.                       UserMan.doc:
  629.                       Advanced Topics: Using SKsh with ARexx
  630.  
  631.           _________________________________________________________________
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.           SKsh Amiga Shell            Page 10             Reference Manual
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.           _________________________________________________________________
  668.  
  669.             Name:     argcount
  670.  
  671.             Type:     Builtin
  672.  
  673.             Default:  n/a
  674.  
  675.             Usage:    argcount [ parameter ... ]
  676.  
  677.             Range:    n/a
  678.  
  679.             About:    argcount simply prints a count of its arguments.
  680.  
  681.             Example:  argcount should 'print two'
  682.  
  683.             See Also:
  684.  
  685.           _________________________________________________________________
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.           SKsh Amiga Shell            Page 11             Reference Manual
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.           _________________________________________________________________
  734.  
  735.             Name:     SKSHINIT
  736.  
  737.             Type:     Variable
  738.  
  739.             Default:  "sksh:.skshrc"
  740.  
  741.             Usage:    $SKSHINIT
  742.  
  743.             Range:    n/a
  744.  
  745.             About:    This  variable is set in the .skshinit file to  the
  746.                       name  of  a  user  modifiable  configuration  file.
  747.                       Normally this is "s:.skshrc".  The user  configura-
  748.                       tion file is sourced  (not  executed!) for interac-
  749.                       tive SKsh sessions.
  750.  
  751.                       The   s:.skshrc   file   is   provided   for   user
  752.                       modification.        Users   should   not    modify
  753.                       s:.skshinit.  If you wish to change  something that
  754.                       is  defined in  s:.skshinit,  simply redefine it in
  755.                       s:.skshrc.     s:.skshrc    is    sourced     after
  756.                       s:.skshinit.
  757.  
  758.                       Your  s:.skshrc  file  may  optionally source other
  759.                       files.
  760.  
  761.                       In SKsh 1.5 and later, the preparsed form  of  this
  762.                       file will  be  executed if it exists instead of the
  763.                       ascii form.
  764.  
  765.             Example:
  766.  
  767.             See Also: sksh, source, preparse
  768.  
  769.           _________________________________________________________________
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.           SKsh Amiga Shell            Page 12             Reference Manual
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.  
  798.  
  799.           _________________________________________________________________
  800.  
  801.             Name:     sksh
  802.  
  803.             Type:     External Command
  804.  
  805.             Default:  n/a
  806.  
  807.             Usage:    sksh [ -a | -p portname ] [ -c string | fspec... ]
  808.  
  809.             Range:    n/a
  810.  
  811.             About:    This is, of course, the main SKsh binary.   If  in-
  812.                       voked with no  parameters, an interactive SKsh ses-
  813.                       sion is started.   If  invoked with the '-c' option
  814.                       followed by a string,  the  string  is  executed by
  815.                       SKsh as if it had been typed, and  SKsh  exits when
  816.                       the  operation is complete.  If the string contains
  817.                       spaces, it must  be  surrounded by quotes (although
  818.                       this  depends  on  the  invoking shell or  environ-
  819.                       ment).   If   invoked with filespec arguments, each
  820.                       file in turn is  executed (not sourced).  SKsh then
  821.                       exits when finished executing all the files.
  822.  
  823.                       If  SKsh  is  invoked  non-interactively,  it  will
  824.                       still read the .skshinit file, but not the  .skshrc
  825.                       file.   This   allows you to have output statements
  826.                       in the .skshrc file  without having this output ap-
  827.                       pear when non-interacrive scripts are run.  If  you
  828.                       really want to run the .skshrc file first, use:
  829.  
  830.                          sksh s:.skshrc my_file.sksh
  831.  
  832.                       If SKsh is given the "-a" flag upon  invocation, it
  833.                       attempts to open an ARexx port if ARexx  is  indeed
  834.                       installed on the system.  The  default port name is
  835.                       "SKSH" (all caps).  If this port is taken  (perhaps
  836.                       by  another  invocation of SKsh),  SKsh  appends an
  837.                       underscore and the cli  number of this process (for
  838.                       example, "SKSH_5"), and tries again.  If  it  still
  839.                       cannot open the port, it gives up.
  840.  
  841.                       If the "-p" flag is given  followed by a port name,
  842.                       SKsh  will  attempts to use the  following argument
  843.                       as a portname when opening ARexx.
  844.  
  845.             Example:  sksh -c "expr 21 * 2"
  846.  
  847.             See Also: source, AREXX_PORT
  848.  
  849.           _________________________________________________________________
  850.  
  851.  
  852.  
  853.  
  854.  
  855.           SKsh Amiga Shell            Page 13             Reference Manual
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.  
  865.           _________________________________________________________________
  866.  
  867.             Name:     basename
  868.  
  869.             Type:     Builtin
  870.  
  871.             Default:  n/a
  872.  
  873.             Usage:    basename [ fspec ... ]
  874.  
  875.             Range:    n/a
  876.  
  877.             About:    basename prints the "base" name of  a  given  path.
  878.                       For  example, the basename of  sys:System/Format is
  879.                       simply Format.  Note that the  basename  may  be  a
  880.                       directory  and  not  a  file;   for   example,  the
  881.                       basename of sys:usr/bin is bin, even though bin  is
  882.                       a directory.   If  basename is passed more than one
  883.                       parameter, it prints the basename  of  each  param-
  884.                       eter in turn.
  885.  
  886.             Example:  basename sys:usr/bin/wc
  887.  
  888.             See Also: dirname, extname
  889.  
  890.           _________________________________________________________________
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.           SKsh Amiga Shell            Page 14             Reference Manual
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.  
  930.  
  931.           _________________________________________________________________
  932.  
  933.             Name:     break
  934.  
  935.             Type:     Builtin
  936.  
  937.             Default:  n/a
  938.  
  939.             Usage:    break [ num ]
  940.  
  941.             Range:    n/a
  942.  
  943.             About:    break  exits  gracefully from  an  enclosing for or
  944.                       while  loop.   If  a  numeric argument is given, it
  945.                       breaks from  that  many  enclosing levels of for or
  946.                       while.
  947.  
  948.             Example:  for a in a b c d e f
  949.                       do
  950.                          echo $a
  951.                          if [ "$a" = "c" ] then break; fi
  952.                       done
  953.  
  954.             See Also: continue
  955.  
  956.           _________________________________________________________________
  957.  
  958.  
  959.  
  960.  
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.           SKsh Amiga Shell            Page 15             Reference Manual
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.  
  996.  
  997.           _________________________________________________________________
  998.  
  999.             Name:     builtins
  1000.  
  1001.             Type:     Alias
  1002.  
  1003.             Default:  set -b
  1004.  
  1005.             Usage:    builtins [ -s ] [ pattern ]
  1006.  
  1007.             Range:    n/a
  1008.  
  1009.             About:    This  aliases  lists  SKsh  builtin commands.   The
  1010.                       pattern  uses  normal wildcards, but must be quoted
  1011.                       to  avoid  being interpreted by the filename expan-
  1012.                       sion  mechanism.   If  the  pattern is omitted, all
  1013.                       builtins are listed  except those beginning with an
  1014.                       underscore  character (hidden builtins).  There are
  1015.                       currently no hidden builtins.
  1016.  
  1017.             Example:  builtins -s '[a-h]*'
  1018.  
  1019.             See Also: set
  1020.  
  1021.           _________________________________________________________________
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.  
  1028.  
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.           SKsh Amiga Shell            Page 16             Reference Manual
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063.           _________________________________________________________________
  1064.  
  1065.             Name:     case/esac
  1066.  
  1067.             Type:     Keywords
  1068.  
  1069.             Default:  n/a
  1070.  
  1071.             Usage:    case param in { pattern ) stmt_list ;; } ... esac
  1072.  
  1073.             Range:    n/a
  1074.  
  1075.             About:    If  the  supplied  parameter  matches  any  of  the
  1076.                       (wildcard)  patterns, then  the  statement list for
  1077.                       that  pattern is executed.  A close-paren (  ")"  )
  1078.                       must  follow  the  wildcard  pattern, and a  double
  1079.                       semicolon  must  terminate the statement list.  The
  1080.                       case  statement  must  be  terminated by a matching
  1081.                       esac keyword.
  1082.  
  1083.             Example:  case "$foo" in
  1084.                         bar)  echo "Matched bar";
  1085.                               echo "testing..." ;;
  1086.                         n*t)  echo "Matched n*t";;
  1087.                         a??c) echo "Matched a??c";;
  1088.                       esac
  1089.  
  1090.             See Also:
  1091.  
  1092.           _________________________________________________________________
  1093.  
  1094.  
  1095.  
  1096.  
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.           SKsh Amiga Shell            Page 17             Reference Manual
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.  
  1127.  
  1128.  
  1129.           _________________________________________________________________
  1130.  
  1131.             Name:     cat
  1132.  
  1133.             Type:     Builtin
  1134.  
  1135.             Default:  n/a
  1136.  
  1137.             Usage:    cat [ fspec ... ]
  1138.  
  1139.             Range:    n/a
  1140.  
  1141.             About:    cat prints  the  contents of each file passed to it
  1142.                       on  the  command line, or the  standard input if no
  1143.                       files are  passed.   The  contents of each file are
  1144.                       concatenated,  and  are  not   separated  by  blank
  1145.                       lines.
  1146.  
  1147.                       In SKsh 1.5 and later, there are two forms  of  the
  1148.                       cat  command,  a  builtin and  an  external binary.
  1149.                       The   external   binary   is   described   in   the
  1150.                       ExtCmds.doc file.  It can be made the  default; see
  1151.                       the documentation there for details.
  1152.  
  1153.                       In SKsh, the  builtin  cat cannot be used to trans-
  1154.                       fer  binary files, only ASCII data.  Also, the  se-
  1155.                       quence:
  1156.  
  1157.                          cat my_file.txt > my_file1.txt
  1158.  
  1159.                       can be  faster  accomplished with the cp command or
  1160.                       the external cat command.
  1161.  
  1162.             Example:  cat my_file.txt
  1163.  
  1164.             See Also: cp
  1165.                       The cat entry in the ExtCmds.doc file
  1166.  
  1167.           _________________________________________________________________
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.  
  1184.  
  1185.           SKsh Amiga Shell            Page 18             Reference Manual
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.  
  1193.  
  1194.  
  1195.           _________________________________________________________________
  1196.  
  1197.             Name:     cd
  1198.  
  1199.             Type:     Builtin
  1200.  
  1201.             Default:  n/a
  1202.  
  1203.             Usage:    cd [ -p | dirname ]
  1204.  
  1205.             Range:    n/a
  1206.  
  1207.             About:    cd  changes   the   current  working  directory  to
  1208.                       dirname,  or  to  the  previous directory (the con-
  1209.                       tents  of  the  OLDPWD  variable) if the -p flag is
  1210.                       set.  If no  parameters are passed, cd moves to the
  1211.                       directory  indicated by the HOME variable.  This is
  1212.                       convenient when you are  doing most of your work in
  1213.                       one place, and wish to  return there easily.  Under
  1214.                       AmigaDos,  the  HOME  variable can be changed  very
  1215.                       easily with:
  1216.  
  1217.                          HOME=.
  1218.  
  1219.                       That is, you do not have  to  worry  about  certain
  1220.                       files  being in the  HOME  directory as you do in a
  1221.                       multi-user operating system such as UNIX.
  1222.  
  1223.             Example:  cd -p        # go back to old directory
  1224.  
  1225.             See Also: PWD, pwd, OLDDIR
  1226.  
  1227.           _________________________________________________________________
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234.  
  1235.  
  1236.  
  1237.  
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.           SKsh Amiga Shell            Page 19             Reference Manual
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.  
  1260.  
  1261.           _________________________________________________________________
  1262.  
  1263.             Name:     chmod
  1264.  
  1265.             Type:     Builtin
  1266.  
  1267.             Default:  n/a
  1268.  
  1269.             Usage:    chmod flags | +flags | -flags   [ file ... ]
  1270.  
  1271.             Range:    flags : "hsparewd"
  1272.  
  1273.             About:    chmod  changes  the  file  protection bits  on  the
  1274.                       named files.  Flags can be one or more of the  fol-
  1275.                       lowing  letters:  "hsparewd".  If the flags  param-
  1276.                       eter is given  directly with no leading '+' or '-',
  1277.                       the  permissions for all the named files are set to
  1278.                       that  value.   A   leading '+' causes the indicated
  1279.                       permissions bits  to  be  set  without changing the
  1280.                       others, and a  leading '-' causes them to be reset.
  1281.                       In  addition, a 'x' may be used in place of the 'e'
  1282.                       flag.
  1283.  
  1284.             Example:  chmod -a *.c   # reset archive bit on all .c files
  1285.  
  1286.             See Also: ls
  1287.  
  1288.           _________________________________________________________________
  1289.  
  1290.  
  1291.  
  1292.  
  1293.  
  1294.  
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.           SKsh Amiga Shell            Page 20             Reference Manual
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.  
  1325.  
  1326.  
  1327.           _________________________________________________________________
  1328.  
  1329.             Name:     clear, cls
  1330.  
  1331.             Type:     Alias
  1332.  
  1333.             Default:  echo -n $_ANSI_CLEAR
  1334.  
  1335.             Usage:    clear
  1336.  
  1337.             Range:    n/a
  1338.  
  1339.             About:    These aliases both  clear  the  screen  by  echoing
  1340.                       $_ANSI_CLEAR.
  1341.  
  1342.             Example:  clear
  1343.  
  1344.             See Also: _ANSI_CLEAR
  1345.  
  1346.           _________________________________________________________________
  1347.  
  1348.  
  1349.  
  1350.  
  1351.  
  1352.  
  1353.  
  1354.  
  1355.  
  1356.  
  1357.  
  1358.  
  1359.  
  1360.  
  1361.  
  1362.  
  1363.  
  1364.  
  1365.  
  1366.  
  1367.  
  1368.  
  1369.  
  1370.  
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.           SKsh Amiga Shell            Page 21             Reference Manual
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.  
  1391.  
  1392.  
  1393.           _________________________________________________________________
  1394.  
  1395.             Name:     CLINUM
  1396.  
  1397.             Type:     Variable
  1398.  
  1399.             Default:  n/a
  1400.  
  1401.             Usage:    $CLINUM
  1402.  
  1403.             Range:    1 to maximum process number limit
  1404.  
  1405.             About:    This  variable is set to the CLI  process number of
  1406.                       SKsh when it is started.
  1407.  
  1408.             Example:  echo "Process # = $CLINUM"
  1409.  
  1410.             See Also:
  1411.  
  1412.           _________________________________________________________________
  1413.  
  1414.  
  1415.  
  1416.  
  1417.  
  1418.  
  1419.  
  1420.  
  1421.  
  1422.  
  1423.  
  1424.  
  1425.  
  1426.  
  1427.  
  1428.  
  1429.  
  1430.  
  1431.  
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.           SKsh Amiga Shell            Page 22             Reference Manual
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457.  
  1458.  
  1459.           _________________________________________________________________
  1460.  
  1461.             Name:     CMDNUM
  1462.  
  1463.             Type:     Variable
  1464.  
  1465.             Default:  n/a
  1466.  
  1467.             Usage:    $CMDNUM
  1468.  
  1469.             Range:    1 to 16 million
  1470.  
  1471.             About:    Each  time  SKsh  inputs a line from the  keyboard,
  1472.                       this variable is incremented.
  1473.  
  1474.             Example:  echo "$CMDNUM lines have been entered so far."
  1475.  
  1476.             See Also: history
  1477.  
  1478.           _________________________________________________________________
  1479.  
  1480.  
  1481.  
  1482.  
  1483.  
  1484.  
  1485.  
  1486.  
  1487.  
  1488.  
  1489.  
  1490.  
  1491.  
  1492.  
  1493.  
  1494.  
  1495.  
  1496.  
  1497.  
  1498.  
  1499.  
  1500.  
  1501.  
  1502.  
  1503.  
  1504.  
  1505.  
  1506.  
  1507.  
  1508.  
  1509.  
  1510.  
  1511.  
  1512.  
  1513.  
  1514.  
  1515.           SKsh Amiga Shell            Page 23             Reference Manual
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.  
  1523.  
  1524.  
  1525.           _________________________________________________________________
  1526.  
  1527.             Name:     COLUMNS
  1528.  
  1529.             Type:     Variable
  1530.  
  1531.             Default:  72
  1532.  
  1533.             Usage:    $COLUMNS
  1534.  
  1535.             Range:    15 to 130
  1536.  
  1537.             About:    This  variable is  one  of  several responsible for
  1538.                       controlling  the  actions of SKsh line  editing and
  1539.                       display output.   If  line  editing is enabled, and
  1540.                       the  cursor  moves  beyond the  column indicated by
  1541.                       this  variable, SKsh slides the line to the left by
  1542.                       12 characters.  SKsh  also  uses  this  variable to
  1543.                       truncate  the  output of certain internal SKsh com-
  1544.                       mands  (such  as  History).  This creates a cleaner
  1545.                       display.
  1546.  
  1547.                       This  variable  is  normally  set  automatically by
  1548.                       SKsh when the  window is resized, although this be-
  1549.                       havior can be disabled with the options command.
  1550.  
  1551.             Example:  COLUMNS=78
  1552.  
  1553.             See Also: PNPC, LINES, options
  1554.  
  1555.           _________________________________________________________________
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.  
  1562.  
  1563.  
  1564.  
  1565.  
  1566.  
  1567.  
  1568.  
  1569.  
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.  
  1577.  
  1578.  
  1579.  
  1580.  
  1581.           SKsh Amiga Shell            Page 24             Reference Manual
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588.  
  1589.  
  1590.  
  1591.           _________________________________________________________________
  1592.  
  1593.             Name:     complist
  1594.  
  1595.             Type:     Builtin
  1596.  
  1597.             Default:  -l option
  1598.  
  1599.             Usage:    complist [ -adel ] [ names ... ]
  1600.  
  1601.             Range:    n/a
  1602.  
  1603.             About:    The  complist  command  provides a method to extend
  1604.                       the  command  line  filename  completion mechanism.
  1605.                       It  only  functions if SKsh command line editing is
  1606.                       enabled.   SKsh   maintains an  internal completion
  1607.                       list  of  user  defined  strings.   When  <tab>  or
  1608.                       <esc><esc> are used  to  complete a string, the in-
  1609.                       ternal  completion list is consulted before comple-
  1610.                       tion  is  attempted on files.  If a match is  found
  1611.                       in the  internal completion list (even if it is but
  1612.                       a  partial  match),  it  is  used.   If  not,  then
  1613.                       filename  completion proceeds as normal.  An option
  1614.                       is  provided to turn on or off this  behaviour (see
  1615.                       the options command for details).
  1616.  
  1617.                       -a   Add  the  supplied arguments to the completion
  1618.                            list.  The  old  contents of the list are left
  1619.                            in place.
  1620.  
  1621.                       -d   Delete   the   supplied   arguments  from  the
  1622.                            completion list.
  1623.  
  1624.                       -e   Empty the completion list.
  1625.  
  1626.                       -l   List the  contents of the completion list, one
  1627.                            name per line.   If  no  command line switches
  1628.                            are given, this is the default.
  1629.  
  1630.             Hints:    The  completion list can, among  other  things,  be
  1631.                       used to:
  1632.  
  1633.                       *    Maintain  a  user  defined list of strings  to
  1634.                            contain, for  example, device or program names
  1635.                            (such  as  "graphics:" or  "calculator") which
  1636.                            are commonly typed.
  1637.  
  1638.                       *    Contain  programs names which are found in the
  1639.                            search path.
  1640.  
  1641.                       *    Buffer  the  contents of the current directory
  1642.                            so  that  subsequent successful completions do
  1643.                            not have to read the  directory.   This  makes
  1644.                            filename  completion  usable on a floppy based
  1645.  
  1646.  
  1647.           SKsh Amiga Shell            Page 25             Reference Manual
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654.  
  1655.  
  1656.  
  1657.                            system or on a  hard  disk  when  a  directory
  1658.                            contains  a  large  number of files.  A  shell
  1659.                            function  is  supplied in the Stuff.sksh  file
  1660.                            which adds the files in the  current directory
  1661.                            to the completion list.
  1662.  
  1663.                       *    Perform  completion on files stored  inside of
  1664.                            a  zoo  archive.   A  function supplied in the
  1665.                            Stuff.sksh file  facilitates this process.  It
  1666.                            could also, with a little  work,  be  extended
  1667.                            to handle other archive types.
  1668.  
  1669.             Example:  complist -e     # empty the completion list
  1670.                       # now add these names...
  1671.                       complist -a graphics: my_program foo
  1672.  
  1673.             See Also: zget, cget (from Stuff.sksh)
  1674.                       options (+C)
  1675.  
  1676.           _________________________________________________________________
  1677.  
  1678.  
  1679.  
  1680.  
  1681.  
  1682.  
  1683.  
  1684.  
  1685.  
  1686.  
  1687.  
  1688.  
  1689.  
  1690.  
  1691.  
  1692.  
  1693.  
  1694.  
  1695.  
  1696.  
  1697.  
  1698.  
  1699.  
  1700.  
  1701.  
  1702.  
  1703.  
  1704.  
  1705.  
  1706.  
  1707.  
  1708.  
  1709.  
  1710.  
  1711.  
  1712.  
  1713.           SKsh Amiga Shell            Page 26             Reference Manual
  1714.  
  1715.  
  1716.  
  1717.  
  1718.  
  1719.  
  1720.  
  1721.  
  1722.  
  1723.           _________________________________________________________________
  1724.  
  1725.             Name:     continue
  1726.  
  1727.             Type:     Builtin
  1728.  
  1729.             Default:  n/a
  1730.  
  1731.             Usage:    continue [ num ]
  1732.  
  1733.             Range:    n/a
  1734.  
  1735.             About:    continue  resumes execution with the next iteration
  1736.                       of the  surrounding loop, or the nth subsequent it-
  1737.                       eration if given a numeric argument.
  1738.  
  1739.             Example:  for a in a b c d e f
  1740.                       do
  1741.                          echo $a
  1742.                          if [ "$a" = "c" ] then continue; fi
  1743.                          echo "This is not echoed when \$a = c"
  1744.                       done
  1745.  
  1746.             See Also: break
  1747.  
  1748.           _________________________________________________________________
  1749.  
  1750.  
  1751.  
  1752.  
  1753.  
  1754.  
  1755.  
  1756.  
  1757.  
  1758.  
  1759.  
  1760.  
  1761.  
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767.  
  1768.  
  1769.  
  1770.  
  1771.  
  1772.  
  1773.  
  1774.  
  1775.  
  1776.  
  1777.  
  1778.  
  1779.           SKsh Amiga Shell            Page 27             Reference Manual
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785.  
  1786.  
  1787.  
  1788.  
  1789.           _________________________________________________________________
  1790.  
  1791.             Name:     ctpri
  1792.  
  1793.             Type:     Alias
  1794.  
  1795.             Default:  ChangeTaskPri
  1796.  
  1797.             Usage:    ctpri
  1798.                       ctpri num
  1799.  
  1800.             Range:    -31 <= num <= 31
  1801.  
  1802.             About:    This  alias  is  provided as a shorter  alternative to
  1803.                       the  AmigaDos  ChangeTaskpri  command.   Its  use   is
  1804.                       identical.
  1805.  
  1806.             Example:  ctpri 1
  1807.  
  1808.             See Also: stack
  1809.  
  1810.           _________________________________________________________________
  1811.  
  1812.  
  1813.  
  1814.  
  1815.  
  1816.  
  1817.  
  1818.  
  1819.  
  1820.  
  1821.  
  1822.  
  1823.  
  1824.  
  1825.  
  1826.  
  1827.  
  1828.  
  1829.  
  1830.  
  1831.  
  1832.  
  1833.  
  1834.  
  1835.  
  1836.  
  1837.  
  1838.  
  1839.  
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845.           SKsh Amiga Shell            Page 28             Reference Manual
  1846.  
  1847.  
  1848.  
  1849.  
  1850.  
  1851.  
  1852.  
  1853.  
  1854.  
  1855.           _________________________________________________________________
  1856.  
  1857.             Name:     date
  1858.  
  1859.             Type:     Builtin
  1860.  
  1861.             Default:  n/a
  1862.  
  1863.             Usage:    date [-aDmdty]
  1864.  
  1865.             Range:    n/a
  1866.  
  1867.             About:    Date  prints  the  current  date  as  a  24  character
  1868.                       string:
  1869.  
  1870.                          DDD mmm dd hh:mm:ss yyyy
  1871.  
  1872.                       Date  with  the  -a (all)  option is identical to date
  1873.                       with no  parameters, (which prints the date as above).
  1874.                       Date  -D prints  a  three  character representation of
  1875.                       the day of the  week.   Date -m prints a three charac-
  1876.                       ter  representation of the month.   Date -d prints the
  1877.                       day  number as  two  digits.   Date -t prints the time
  1878.                       string, and date -y prints the year as four digits.
  1879.  
  1880.             Example:  date -y    # find the year
  1881.  
  1882.             See Also: time
  1883.  
  1884.           _________________________________________________________________
  1885.  
  1886.  
  1887.  
  1888.  
  1889.  
  1890.  
  1891.  
  1892.  
  1893.  
  1894.  
  1895.  
  1896.  
  1897.  
  1898.  
  1899.  
  1900.  
  1901.  
  1902.  
  1903.  
  1904.  
  1905.  
  1906.  
  1907.  
  1908.  
  1909.  
  1910.  
  1911.           SKsh Amiga Shell            Page 29             Reference Manual
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918.  
  1919.  
  1920.  
  1921.           _________________________________________________________________
  1922.  
  1923.             Name:     dec
  1924.  
  1925.             Type:     Builtin
  1926.  
  1927.             Default:  n/a
  1928.  
  1929.             Usage:    dec var [ count ]
  1930.  
  1931.             Range:    n/a
  1932.  
  1933.             About:    dec  decrements  the  contents of  the  variable by
  1934.                       count, or 1 if count is not given.  It  is  equiva-
  1935.                       lent  to,  but  faster  than,  'var=$(expr  $var  -
  1936.                       $count)'
  1937.  
  1938.             Example:  dec my_var 3
  1939.  
  1940.             See Also: inc
  1941.  
  1942.           _________________________________________________________________
  1943.  
  1944.  
  1945.  
  1946.  
  1947.  
  1948.  
  1949.  
  1950.  
  1951.  
  1952.  
  1953.  
  1954.  
  1955.  
  1956.  
  1957.  
  1958.  
  1959.  
  1960.  
  1961.  
  1962.  
  1963.  
  1964.  
  1965.  
  1966.  
  1967.  
  1968.  
  1969.  
  1970.  
  1971.  
  1972.  
  1973.  
  1974.  
  1975.  
  1976.  
  1977.           SKsh Amiga Shell            Page 30             Reference Manual
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983.  
  1984.  
  1985.  
  1986.  
  1987.           _________________________________________________________________
  1988.  
  1989.             Name:     dir
  1990.  
  1991.             Type:     Alias
  1992.  
  1993.             Default:  ls -bF
  1994.  
  1995.             Usage:    dir [ file | dir ] ...
  1996.  
  1997.             Range:    n/a
  1998.  
  1999.             About:    dir prints a  short  format directory listing, with
  2000.                       only the basename of each file printed.  Note  that
  2001.                       the 'F' option to 'ls' is set.
  2002.  
  2003.             Example:  dir s:
  2004.  
  2005.             See Also: ls, ll
  2006.  
  2007.           _________________________________________________________________
  2008.  
  2009.  
  2010.  
  2011.  
  2012.  
  2013.  
  2014.  
  2015.  
  2016.  
  2017.  
  2018.  
  2019.  
  2020.  
  2021.  
  2022.  
  2023.  
  2024.  
  2025.  
  2026.  
  2027.  
  2028.  
  2029.  
  2030.  
  2031.  
  2032.  
  2033.  
  2034.  
  2035.  
  2036.  
  2037.  
  2038.  
  2039.  
  2040.  
  2041.  
  2042.  
  2043.           SKsh Amiga Shell            Page 31             Reference Manual
  2044.  
  2045.  
  2046.  
  2047.  
  2048.  
  2049.  
  2050.  
  2051.  
  2052.  
  2053.           _________________________________________________________________
  2054.  
  2055.             Name:     dirname
  2056.  
  2057.             Type:     Builtin
  2058.  
  2059.             Default:  n/a
  2060.  
  2061.             Usage:    complist [ -adel ] [ names ... ]
  2062.  
  2063.             Range:    n/a
  2064.  
  2065.             About:    dirname  prints  the  "directory" name of  a  given
  2066.                       path.  For  example, the dirname of sys:System/For-
  2067.                       mat  is  simply  sys:System.  If  dirname is passed
  2068.                       more than  one  parameter, it prints the dirname of
  2069.                       each parameter in turn.
  2070.  
  2071.             Example:  dirname sys:usr/bin/wc
  2072.  
  2073.             See Also: basename, extname
  2074.  
  2075.           _________________________________________________________________
  2076.  
  2077.  
  2078.  
  2079.  
  2080.  
  2081.  
  2082.  
  2083.  
  2084.  
  2085.  
  2086.  
  2087.  
  2088.  
  2089.  
  2090.  
  2091.  
  2092.  
  2093.  
  2094.  
  2095.  
  2096.  
  2097.  
  2098.  
  2099.  
  2100.  
  2101.  
  2102.  
  2103.  
  2104.  
  2105.  
  2106.  
  2107.  
  2108.  
  2109.           SKsh Amiga Shell            Page 32             Reference Manual
  2110.  
  2111.  
  2112.  
  2113.  
  2114.  
  2115.  
  2116.  
  2117.  
  2118.  
  2119.           _________________________________________________________________
  2120.  
  2121.             Name:     dwclist
  2122.  
  2123.             Type:     Builtin
  2124.  
  2125.             Default:  -l option
  2126.  
  2127.             Usage:    dwclist [ -adel ] [ names ... ]
  2128.  
  2129.             Range:    n/a
  2130.  
  2131.             About:    The  dwclist  (disabled wildcard list) command pro-
  2132.                       vides  the  ability so selectively disable wildcard
  2133.                       expansion for  individual commands.  When expanding
  2134.                       wildcards, SKsh first checks  the  command name for
  2135.                       inclusion in the  dwclist.  If found, SKsh will not
  2136.                       expand  parameters  which  contain  wildcards,  but
  2137.                       rather, will pass these wildcards  to  the  command
  2138.                       directly.
  2139.  
  2140.                       The  dwclist is  very  useful for external programs
  2141.                       which  perform their own  wildcard  expansion.   By
  2142.                       putting  the  command in the dwclist, SKsh will let
  2143.                       that  command  perform its own wildcard  expansion,
  2144.                       thus  circumventing the 255  character command line
  2145.                       limit in AmigaDos 1.3.
  2146.  
  2147.                       An  option  is  provided to turn on or off this be-
  2148.                       haviour  (see  the  options  command for  details).
  2149.                       The default is to ignore the dwclist.
  2150.  
  2151.                       The  following  arguments, similar to those for the
  2152.                       complist command, are accepted:
  2153.  
  2154.                       -a   Add  the  supplied  arguments to the  dwclist.
  2155.                            The  old  contents of the  list  are  left  in
  2156.                            place.
  2157.  
  2158.                       -d   Delete   the   supplied   arguments  from  the
  2159.                            dwclist.
  2160.  
  2161.                       -e   Empty the dwclist.
  2162.  
  2163.                       -l   List  the  contents of  the  dwclist list, one
  2164.                            name per line.   If  no  command line switches
  2165.                            are given, this is the default.
  2166.  
  2167.             Hints:    The following should be noted:
  2168.  
  2169.                       *    The +w  option is not set by default.  It must
  2170.                            be set explicitly to use the dwclist feature.
  2171.  
  2172.  
  2173.  
  2174.  
  2175.           SKsh Amiga Shell            Page 33             Reference Manual
  2176.  
  2177.  
  2178.  
  2179.  
  2180.  
  2181.  
  2182.  
  2183.  
  2184.  
  2185.                       *    Use of long a  long  dwclist will slightly de-
  2186.                            grade  the  SKsh  interpreter performance, al-
  2187.                            though  commands in the  list  will  run  much
  2188.                            faster if passed parameters with wildcards.
  2189.  
  2190.                       *    SKsh searches for the first  argument verbatim
  2191.                            in  the  dwclist.  This means  that,  for  ex-
  2192.                            ample,  if  a  program is added to the list as
  2193.                            "myprog",  it  must  be  invoked in  the  same
  2194.                            manner.   Supplying a path name will not work,
  2195.                            unless  the  entire path is also added to  the
  2196.                            list.
  2197.  
  2198.                       *    SKsh  does  not  care  whether  entries in the
  2199.                            list are  external programs or internal built-
  2200.                            ins, functions, or aliases.
  2201.  
  2202.                       *    If an alias  or  a  function is used to invoke
  2203.                            an  external  command, both the alias or func-
  2204.                            tion name and  the  external command name must
  2205.                            appear in  the  dwclist.  Otherwise, SKsh will
  2206.                            attempt  to  expand the wildcards for the  one
  2207.                            not listed.
  2208.  
  2209.             Example:  dwclist -e     # empty the dwclist
  2210.                       # now add these names...
  2211.                       dwclist -a zoo lharc
  2212.  
  2213.             See Also: options (+w)
  2214.  
  2215.           _________________________________________________________________
  2216.  
  2217.  
  2218.  
  2219.  
  2220.  
  2221.  
  2222.  
  2223.  
  2224.  
  2225.  
  2226.  
  2227.  
  2228.  
  2229.  
  2230.  
  2231.  
  2232.  
  2233.  
  2234.  
  2235.  
  2236.  
  2237.  
  2238.  
  2239.  
  2240.  
  2241.           SKsh Amiga Shell            Page 34             Reference Manual
  2242.  
  2243.  
  2244.  
  2245.  
  2246.  
  2247.  
  2248.  
  2249.  
  2250.  
  2251.           _________________________________________________________________
  2252.  
  2253.             Name:     echo
  2254.  
  2255.             Type:     Builtin
  2256.  
  2257.             Default:  n/a
  2258.  
  2259.             Usage:    echo [-nc] [ parameter ... ]
  2260.  
  2261.             Range:    n/a
  2262.  
  2263.             About:    The  echo command simply prints its arguments to stan-
  2264.                       dard  output.   If  given  no   arguments, it prints a
  2265.                       newline.    Otherwise, it prints its  arguments, sepa-
  2266.                       rated by a single space,  unless the -c option is set,
  2267.                       in which case  no  separating spaces are printed (con-
  2268.                       catenation  mode).   Echo   normally prints a trailing
  2269.                       newline,  unless  the  -n option is set, in which case
  2270.                       no trailing newline is printed.
  2271.  
  2272.                       'echo -c' is useful for concatenating strings:
  2273.  
  2274.                          result = $(echo -c This '+' That)
  2275.  
  2276.             Example:  echo 'These' 'arguments' are "echoed"
  2277.  
  2278.             See Also:
  2279.  
  2280.           _________________________________________________________________
  2281.  
  2282.  
  2283.  
  2284.  
  2285.  
  2286.  
  2287.  
  2288.  
  2289.  
  2290.  
  2291.  
  2292.  
  2293.  
  2294.  
  2295.  
  2296.  
  2297.  
  2298.  
  2299.  
  2300.  
  2301.  
  2302.  
  2303.  
  2304.  
  2305.  
  2306.  
  2307.           SKsh Amiga Shell            Page 35             Reference Manual
  2308.  
  2309.  
  2310.  
  2311.  
  2312.  
  2313.  
  2314.  
  2315.  
  2316.  
  2317.           _________________________________________________________________
  2318.  
  2319.             Name:     eval
  2320.  
  2321.             Type:     Builtin
  2322.  
  2323.             Default:  n/a
  2324.  
  2325.             Usage:    eval [ string ... ]
  2326.  
  2327.             Range:    n/a
  2328.  
  2329.             About:    eval executes the text of the supplied  strings  as
  2330.                       if they were  SKsh  commands.   If  more  than  one
  2331.                       string is given, they are evaluated in order.
  2332.  
  2333.             Example:  foo='for a in a b c; do; echo $a; done'
  2334.                       eval "$foo" 'echo boo'
  2335.  
  2336.             See Also:
  2337.  
  2338.           _________________________________________________________________
  2339.  
  2340.  
  2341.  
  2342.  
  2343.  
  2344.  
  2345.  
  2346.  
  2347.  
  2348.  
  2349.  
  2350.  
  2351.  
  2352.  
  2353.  
  2354.  
  2355.  
  2356.  
  2357.  
  2358.  
  2359.  
  2360.  
  2361.  
  2362.  
  2363.  
  2364.  
  2365.  
  2366.  
  2367.  
  2368.  
  2369.  
  2370.  
  2371.  
  2372.  
  2373.           SKsh Amiga Shell            Page 36             Reference Manual
  2374.  
  2375.  
  2376.  
  2377.  
  2378.  
  2379.  
  2380.  
  2381.  
  2382.  
  2383.           _________________________________________________________________
  2384.  
  2385.             Name:     exit
  2386.  
  2387.             Type:     Builtin
  2388.  
  2389.             Default:  n/a
  2390.  
  2391.             Usage:    exit [ code ]
  2392.  
  2393.             Range:    n/a
  2394.  
  2395.             About:    exit leaves  SKsh,  returning execution back to the
  2396.                       invoking  shell.   If  invoked with a numeric argu-
  2397.                       ment,  it  returns that exit code to  the  invoking
  2398.                       shell or program.
  2399.  
  2400.                       Note  that  exit  always  exits SKsh entirely.   To
  2401.                       simply exit a  script  or  function, use the return
  2402.                       statement.   If  the   LOGOUT  variable is defined,
  2403.                       exit will execute that string before terminating.
  2404.  
  2405.             Example:  exit    # exits successfully
  2406.  
  2407.             See Also: return, LOGOUT
  2408.  
  2409.           _________________________________________________________________
  2410.  
  2411.  
  2412.  
  2413.  
  2414.  
  2415.  
  2416.  
  2417.  
  2418.  
  2419.  
  2420.  
  2421.  
  2422.  
  2423.  
  2424.  
  2425.  
  2426.  
  2427.  
  2428.  
  2429.  
  2430.  
  2431.  
  2432.  
  2433.  
  2434.  
  2435.  
  2436.  
  2437.  
  2438.  
  2439.           SKsh Amiga Shell            Page 37             Reference Manual
  2440.  
  2441.  
  2442.  
  2443.  
  2444.  
  2445.  
  2446.  
  2447.  
  2448.  
  2449.           _________________________________________________________________
  2450.  
  2451.             Name:     export
  2452.  
  2453.             Type:     Builtin
  2454.  
  2455.             Default:  n/a
  2456.  
  2457.             Usage:    export [ -l ] [ var ... ]
  2458.  
  2459.             Range:    n/a
  2460.  
  2461.             About:    export  (without  the  -l  option) does two things.
  2462.                       It sets the  value  of  the  indicated variables in
  2463.                       the  topmost  symbol table in SKsh, and it sets  an
  2464.                       AmigaDos  environment  variable with the same  name
  2465.                       and value.  This is the only way to  transfer vari-
  2466.                       able values between executions of SKsh.
  2467.  
  2468.                       export  with  the  -l  option only sets the topmost
  2469.                       symbol table of SKsh, but not  the  AmigaDos  envi-
  2470.                       ronment variable.  This  is  faster  and  does  not
  2471.                       clutter up  the  environment with unneeded variable
  2472.                       definitions.
  2473.  
  2474.             Example:  export -l my_var1 my_var2
  2475.  
  2476.             See Also: getenv
  2477.  
  2478.           _________________________________________________________________
  2479.  
  2480.  
  2481.  
  2482.  
  2483.  
  2484.  
  2485.  
  2486.  
  2487.  
  2488.  
  2489.  
  2490.  
  2491.  
  2492.  
  2493.  
  2494.  
  2495.  
  2496.  
  2497.  
  2498.  
  2499.  
  2500.  
  2501.  
  2502.  
  2503.  
  2504.  
  2505.           SKsh Amiga Shell            Page 38             Reference Manual
  2506.  
  2507.  
  2508.  
  2509.  
  2510.  
  2511.  
  2512.  
  2513.  
  2514.  
  2515.           _________________________________________________________________
  2516.  
  2517.             Name:     expr
  2518.  
  2519.             Type:     Keyword
  2520.  
  2521.             Default:  n/a
  2522.  
  2523.             Usage:    expr length string
  2524.                       expr num_expression
  2525.                       expr index str pattern
  2526.                       expr substr num1 num2
  2527.  
  2528.             Range:    n/a
  2529.  
  2530.             About:    expr   evaluates  and  prints  the  results  of  an
  2531.                       expression.
  2532.  
  2533.                       expr length string
  2534.  
  2535.                          prints the length in characters of the string
  2536.  
  2537.                       expr num_expression
  2538.  
  2539.                          prints the  result of evaluating num_expression.
  2540.                          num_expression  is  an  integer  expression com-
  2541.                          puted with 32  bit  integers.   '+',  '-',  '*',
  2542.                          '/', and '%' can be used.   '*',  '/',  and  '%'
  2543.                          have a higher  precedence than '+' and '-'; oth-
  2544.                          erwise,  the  expression  is  evaluated left  to
  2545.                          right.  Parentheses can be used.
  2546.  
  2547.                       expr index str pattern
  2548.  
  2549.                          prints  the  index  of  pattern if found in  the
  2550.                          string, or 0 if not found.  The  first  position
  2551.                          in string is 1, not 0.   Unlike ksh, pattern can
  2552.                          be more than one character.
  2553.  
  2554.                       expr substr string num1 num2
  2555.  
  2556.                          prints the substring of the  string  starting at
  2557.                          the  position  indicated by num1  and  extending
  2558.                          for  num2  characters.   The   beginning of  the
  2559.                          string is at position one, not 0.
  2560.  
  2561.             Example:  expr 3 * ( 1 + 4 )
  2562.                       expr length "foo"
  2563.                       expr index 'foobarnot' 'bar'
  2564.                       expr substr 'foobarnot' 4 3
  2565.  
  2566.             See Also:
  2567.  
  2568.           _________________________________________________________________
  2569.  
  2570.  
  2571.           SKsh Amiga Shell            Page 39             Reference Manual
  2572.  
  2573.  
  2574.  
  2575.  
  2576.  
  2577.  
  2578.  
  2579.  
  2580.  
  2581.           _________________________________________________________________
  2582.  
  2583.             Name:     extname
  2584.  
  2585.             Type:     Builtin
  2586.  
  2587.             Default:  n/a
  2588.  
  2589.             Usage:    extname [ -v ] [ fspec ]
  2590.  
  2591.             Range:    n/a
  2592.  
  2593.             About:    extname prints the  "extension"  of  a  given  path
  2594.                       name.  For example, the extension of  my_file.c  is
  2595.                       simply 'c'.
  2596.  
  2597.                       When used with the "-v"  flag,  extname prints that
  2598.                       part  of  the  file  name  which  is  not  in   the
  2599.                       extension.
  2600.  
  2601.             Example:  extname my_file.c
  2602.  
  2603.             See Also: basename, dirname
  2604.  
  2605.           _________________________________________________________________
  2606.  
  2607.  
  2608.  
  2609.  
  2610.  
  2611.  
  2612.  
  2613.  
  2614.  
  2615.  
  2616.  
  2617.  
  2618.  
  2619.  
  2620.  
  2621.  
  2622.  
  2623.  
  2624.  
  2625.  
  2626.  
  2627.  
  2628.  
  2629.  
  2630.  
  2631.  
  2632.  
  2633.  
  2634.  
  2635.  
  2636.  
  2637.           SKsh Amiga Shell            Page 40             Reference Manual
  2638.  
  2639.  
  2640.  
  2641.  
  2642.  
  2643.  
  2644.  
  2645.  
  2646.  
  2647.           _________________________________________________________________
  2648.  
  2649.             Name:     false
  2650.  
  2651.             Type:     Builtin
  2652.  
  2653.             Default:  n/a
  2654.  
  2655.             Usage:    false
  2656.  
  2657.             Range:    n/a
  2658.  
  2659.             About:    false  simply  returns a false exit code, and  does
  2660.                       nothing else.
  2661.  
  2662.             Example:  if false
  2663.                       then
  2664.                          echo 'This will never echo'
  2665.                       fi
  2666.  
  2667.             See Also: true
  2668.  
  2669.           _________________________________________________________________
  2670.  
  2671.  
  2672.  
  2673.  
  2674.  
  2675.  
  2676.  
  2677.  
  2678.  
  2679.  
  2680.  
  2681.  
  2682.  
  2683.  
  2684.  
  2685.  
  2686.  
  2687.  
  2688.  
  2689.  
  2690.  
  2691.  
  2692.  
  2693.  
  2694.  
  2695.  
  2696.  
  2697.  
  2698.  
  2699.  
  2700.  
  2701.  
  2702.  
  2703.           SKsh Amiga Shell            Page 41             Reference Manual
  2704.  
  2705.  
  2706.  
  2707.  
  2708.  
  2709.  
  2710.  
  2711.  
  2712.  
  2713.           _________________________________________________________________
  2714.  
  2715.             Name:     for/do/done
  2716.  
  2717.             Type:     Keywords
  2718.  
  2719.             Default:  n/a
  2720.  
  2721.             Usage:    for var in list do stmt_list done
  2722.  
  2723.             Range:    n/a
  2724.  
  2725.             About:    The  variable is set to each value in list, and for
  2726.                       each value, the statement list is executed.
  2727.  
  2728.             Example:  for file in *.h *.c
  2729.                       do
  2730.                          cp $file $file.bak
  2731.                       done
  2732.  
  2733.             See Also: while
  2734.  
  2735.           _________________________________________________________________
  2736.  
  2737.  
  2738.  
  2739.  
  2740.  
  2741.  
  2742.  
  2743.  
  2744.  
  2745.  
  2746.  
  2747.  
  2748.  
  2749.  
  2750.  
  2751.  
  2752.  
  2753.  
  2754.  
  2755.  
  2756.  
  2757.  
  2758.  
  2759.  
  2760.  
  2761.  
  2762.  
  2763.  
  2764.  
  2765.  
  2766.  
  2767.  
  2768.  
  2769.           SKsh Amiga Shell            Page 42             Reference Manual
  2770.  
  2771.  
  2772.  
  2773.  
  2774.  
  2775.  
  2776.  
  2777.  
  2778.  
  2779.           _________________________________________________________________
  2780.  
  2781.             Name:     force
  2782.  
  2783.             Type:     Keyword
  2784.  
  2785.             Default:  n/a
  2786.  
  2787.             Usage:    force [ -fba ] command [ parameter ... ]
  2788.  
  2789.             Range:    n/a
  2790.  
  2791.             About:    force forces SKsh  to  interpret command as a func-
  2792.                       tion,  builtin, or alias.   Exactly one of the 'f',
  2793.                       'b', and 'a' flags must be present.   force is use-
  2794.                       ful if the builtin commands are redefined.
  2795.  
  2796.             Example:  function date {
  2797.                          echo -n 'The date is: '
  2798.                          force -b date
  2799.                       }
  2800.  
  2801.             See Also:
  2802.  
  2803.           _________________________________________________________________
  2804.  
  2805.  
  2806.  
  2807.  
  2808.  
  2809.  
  2810.  
  2811.  
  2812.  
  2813.  
  2814.  
  2815.  
  2816.  
  2817.  
  2818.  
  2819.  
  2820.  
  2821.  
  2822.  
  2823.  
  2824.  
  2825.  
  2826.  
  2827.  
  2828.  
  2829.  
  2830.  
  2831.  
  2832.  
  2833.  
  2834.  
  2835.           SKsh Amiga Shell            Page 43             Reference Manual
  2836.  
  2837.  
  2838.  
  2839.  
  2840.  
  2841.  
  2842.  
  2843.  
  2844.  
  2845.           _________________________________________________________________
  2846.  
  2847.             Name:     function
  2848.  
  2849.             Type:     Keyword
  2850.  
  2851.             Default:  n/a
  2852.  
  2853.             Usage:    function name { stmt_list }
  2854.  
  2855.             Range:    n/a
  2856.  
  2857.             About:    function  defines an SKsh function called name, and
  2858.                       with the definition given by the statement list.
  2859.  
  2860.             Example:  function my_func {
  2861.                          echo "I was passed $# parameters"
  2862.                       }
  2863.  
  2864.             See Also: functions
  2865.  
  2866.           _________________________________________________________________
  2867.  
  2868.  
  2869.  
  2870.  
  2871.  
  2872.  
  2873.  
  2874.  
  2875.  
  2876.  
  2877.  
  2878.  
  2879.  
  2880.  
  2881.  
  2882.  
  2883.  
  2884.  
  2885.  
  2886.  
  2887.  
  2888.  
  2889.  
  2890.  
  2891.  
  2892.  
  2893.  
  2894.  
  2895.  
  2896.  
  2897.  
  2898.  
  2899.  
  2900.  
  2901.           SKsh Amiga Shell            Page 44             Reference Manual
  2902.  
  2903.  
  2904.  
  2905.  
  2906.  
  2907.  
  2908.  
  2909.  
  2910.  
  2911.           _________________________________________________________________
  2912.  
  2913.             Name:     functions
  2914.  
  2915.             Type:     Alias
  2916.  
  2917.             Default:  set -f
  2918.  
  2919.             Usage:    functions [ pattern... ]
  2920.  
  2921.             Range:    n/a
  2922.  
  2923.             About:    This  alias  lists  defined functions.  The pattern
  2924.                       uses  normal wildcards, but must be quoted to avoid
  2925.                       being   interpreted  by  the   filename   expansion
  2926.                       mechanism.   If  the  pattern is omitted, all func-
  2927.                       tions  are  listed  except those  beginning with an
  2928.                       underscore character (hidden functions).
  2929.  
  2930.                       Only  functions for the current context are listed,
  2931.                       so this  command may have a different effect inside
  2932.                       of   a   subshell  or   function  than  when  typed
  2933.                       manually.
  2934.  
  2935.             Example:  functions '[a-h]*'
  2936.  
  2937.             See Also: set
  2938.  
  2939.           _________________________________________________________________
  2940.  
  2941.  
  2942.  
  2943.  
  2944.  
  2945.  
  2946.  
  2947.  
  2948.  
  2949.  
  2950.  
  2951.  
  2952.  
  2953.  
  2954.  
  2955.  
  2956.  
  2957.  
  2958.  
  2959.  
  2960.  
  2961.  
  2962.  
  2963.  
  2964.  
  2965.  
  2966.  
  2967.           SKsh Amiga Shell            Page 45             Reference Manual
  2968.  
  2969.  
  2970.  
  2971.  
  2972.  
  2973.  
  2974.  
  2975.  
  2976.  
  2977.           _________________________________________________________________
  2978.  
  2979.             Name:     getenv
  2980.  
  2981.             Type:     Builtin
  2982.  
  2983.             Default:  n/a
  2984.  
  2985.             Usage:    getenv [ var ... ]
  2986.  
  2987.             Range:    n/a
  2988.  
  2989.             About:    getenv  imports  the  values of the indicated vari-
  2990.                       able from  AmigaDos  environment variables with the
  2991.                       same  names.   This   command, coupled with  export
  2992.                       command,  allows  variables to  be  transferred be-
  2993.                       tween executions of SKsh.
  2994.  
  2995.             Example:  getenv my_var1 my_var2
  2996.  
  2997.             See Also: export
  2998.  
  2999.           _________________________________________________________________
  3000.  
  3001.  
  3002.  
  3003.  
  3004.  
  3005.  
  3006.  
  3007.  
  3008.  
  3009.  
  3010.  
  3011.  
  3012.  
  3013.  
  3014.  
  3015.  
  3016.  
  3017.  
  3018.  
  3019.  
  3020.  
  3021.  
  3022.  
  3023.  
  3024.  
  3025.  
  3026.  
  3027.  
  3028.  
  3029.  
  3030.  
  3031.  
  3032.  
  3033.           SKsh Amiga Shell            Page 46             Reference Manual
  3034.  
  3035.  
  3036.  
  3037.  
  3038.  
  3039.  
  3040.  
  3041.  
  3042.  
  3043.           _________________________________________________________________
  3044.  
  3045.             Name:     history
  3046.  
  3047.             Type:     Builtin
  3048.  
  3049.             Default:  n/a
  3050.  
  3051.             Usage:    history
  3052.                       history -n
  3053.                       history -e [ pattern | number | offset ]
  3054.  
  3055.             Range:    n/a
  3056.  
  3057.             About:    SKsh  maintains the HISTSIZE previous commands in a
  3058.                       list so that they may later  be  recalled or edited
  3059.                       for re-execution.
  3060.  
  3061.                       history  with no  parameters simply prints the his-
  3062.                       tory list, with  each  line  prefixed by the number
  3063.                       of  the  associated  command.   The  -n   parameter
  3064.                       leaves out the line numbers.
  3065.  
  3066.                       history  -e is  used  to  execute commands from the
  3067.                       history list.  If  given  a  positive numeric argu-
  3068.                       ment, it  executes the history command at that num-
  3069.                       ber (note that these  numbers are derived from CMD-
  3070.                       NUM and do not  always begin at 1 if CMDNUM > HIST-
  3071.                       SIZE).  If given  a  negative numeric argument, the
  3072.                       line  executed  is  the  'nth'  before the current;
  3073.                       thus,  the  example  below  executes  the  previous
  3074.                       command.  If  the  argument is a string or pattern,
  3075.                       the  most  recent command containing that string or
  3076.                       pattern is executed.
  3077.  
  3078.             Example:  history -e -1    # execute previous command
  3079.  
  3080.             See Also: HISTSIZE, !, !!, CMDNUM, command  line  editing  in
  3081.                       the User's Manual.
  3082.  
  3083.           _________________________________________________________________
  3084.  
  3085.  
  3086.  
  3087.  
  3088.  
  3089.  
  3090.  
  3091.  
  3092.  
  3093.  
  3094.  
  3095.  
  3096.  
  3097.  
  3098.  
  3099.           SKsh Amiga Shell            Page 47             Reference Manual
  3100.  
  3101.  
  3102.  
  3103.  
  3104.  
  3105.  
  3106.  
  3107.  
  3108.  
  3109.           _________________________________________________________________
  3110.  
  3111.             Name:     HISTSIZE
  3112.  
  3113.             Type:     Variable
  3114.  
  3115.             Default:  32
  3116.  
  3117.             Usage:    $HISTSIZE
  3118.  
  3119.             Range:    0 to 32000
  3120.  
  3121.             About:    SKsh keeps a list  of  the  $HISTSIZE  most  recent
  3122.                       commands available for editing and re-entry.
  3123.  
  3124.             Example:  HISTSIZE=64
  3125.  
  3126.             See Also: history, options
  3127.  
  3128.           _________________________________________________________________
  3129.  
  3130.  
  3131.  
  3132.  
  3133.  
  3134.  
  3135.  
  3136.  
  3137.  
  3138.  
  3139.  
  3140.  
  3141.  
  3142.  
  3143.  
  3144.  
  3145.  
  3146.  
  3147.  
  3148.  
  3149.  
  3150.  
  3151.  
  3152.  
  3153.  
  3154.  
  3155.  
  3156.  
  3157.  
  3158.  
  3159.  
  3160.  
  3161.  
  3162.  
  3163.  
  3164.  
  3165.           SKsh Amiga Shell            Page 48             Reference Manual
  3166.  
  3167.  
  3168.  
  3169.  
  3170.  
  3171.  
  3172.  
  3173.  
  3174.  
  3175.           _________________________________________________________________
  3176.  
  3177.             Name:     HOME
  3178.  
  3179.             Type:     Variable
  3180.  
  3181.             Default:  :
  3182.  
  3183.             Usage:    $HOME
  3184.  
  3185.             Range:    n/a
  3186.  
  3187.             About:    This  variable  represents the  default destination
  3188.                       for  the  cd command.  It can be set to  any  valid
  3189.                       directory name.
  3190.  
  3191.             Example:  HOME=.
  3192.  
  3193.             See Also: cd
  3194.  
  3195.           _________________________________________________________________
  3196.  
  3197.  
  3198.  
  3199.  
  3200.  
  3201.  
  3202.  
  3203.  
  3204.  
  3205.  
  3206.  
  3207.  
  3208.  
  3209.  
  3210.  
  3211.  
  3212.  
  3213.  
  3214.  
  3215.  
  3216.  
  3217.  
  3218.  
  3219.  
  3220.  
  3221.  
  3222.  
  3223.  
  3224.  
  3225.  
  3226.  
  3227.  
  3228.  
  3229.  
  3230.  
  3231.           SKsh Amiga Shell            Page 49             Reference Manual
  3232.  
  3233.  
  3234.  
  3235.  
  3236.  
  3237.  
  3238.  
  3239.  
  3240.  
  3241.           _________________________________________________________________
  3242.  
  3243.             Name:     if/then/elif/else/fi
  3244.  
  3245.             Type:     Keywords
  3246.  
  3247.             Default:  n/a
  3248.  
  3249.             Usage:    if expr then stmt_list
  3250.                          [ [ elif expr then stmt_list ] ... ]
  3251.                          [ else stmt_list ] fi
  3252.  
  3253.             Range:    n/a
  3254.  
  3255.             About:    If  the  expression is true (that is, it  returns a
  3256.                       zero  exit  status), then the first  statement list
  3257.                       is executed.  If  any  elif statements are present,
  3258.                       each  expression  is  executed, and if it is  true,
  3259.                       execution  procedes  for  the  associated statement
  3260.                       list.  If none  of  the  expressions were true, the
  3261.                       else statement_list is executed.
  3262.  
  3263.                       The  expressions can be any  command, or a test ex-
  3264.                       pression  surrounded  by  square  brackets (see the
  3265.                       user's manual for details).
  3266.  
  3267.             Example:  if [ ! -f name -a ! -d name ]
  3268.                       then
  3269.                          mkdir name
  3270.                       else
  3271.                          echo "$name exists already!"
  3272.                       fi
  3273.  
  3274.             See Also: while
  3275.  
  3276.           _________________________________________________________________
  3277.  
  3278.  
  3279.  
  3280.  
  3281.  
  3282.  
  3283.  
  3284.  
  3285.  
  3286.  
  3287.  
  3288.  
  3289.  
  3290.  
  3291.  
  3292.  
  3293.  
  3294.  
  3295.  
  3296.  
  3297.           SKsh Amiga Shell            Page 50             Reference Manual
  3298.  
  3299.  
  3300.  
  3301.  
  3302.  
  3303.  
  3304.  
  3305.  
  3306.  
  3307.           _________________________________________________________________
  3308.  
  3309.             Name:     IFS
  3310.  
  3311.             Type:     Variable
  3312.  
  3313.             Default:  " \n\t"
  3314.  
  3315.             Usage:    $IFS
  3316.  
  3317.             Range:    n/a
  3318.  
  3319.             About:    Characters in IFS are  used  to  break  substituted
  3320.                       text  (from  variables  and  command  substitution)
  3321.                       into parameters.  If IFS is set to the null  string
  3322.                       (''),  all   substituted  text  will  be  a  single
  3323.                       parameter.
  3324.  
  3325.                       If the  'i'  option to SKsh is set (see the options
  3326.                       command), the  IFS  characters will also be used to
  3327.                       break text from $( ) style command substitution.
  3328.  
  3329.             Example:  [dh0:]: IFS=" \n\t"
  3330.                       [dh0:]: a='Now   is   the   time'
  3331.                       [dh0:]: echo $a
  3332.                               Now is the time
  3333.                       [dh0:]: IFS=''
  3334.                       [dh0:]: echo $a
  3335.                               Now   is   the   time
  3336.  
  3337.             See Also:
  3338.  
  3339.           _________________________________________________________________
  3340.  
  3341.  
  3342.  
  3343.  
  3344.  
  3345.  
  3346.  
  3347.  
  3348.  
  3349.  
  3350.  
  3351.  
  3352.  
  3353.  
  3354.  
  3355.  
  3356.  
  3357.  
  3358.  
  3359.  
  3360.  
  3361.  
  3362.  
  3363.           SKsh Amiga Shell            Page 51             Reference Manual
  3364.  
  3365.  
  3366.  
  3367.  
  3368.  
  3369.  
  3370.  
  3371.  
  3372.  
  3373.           _________________________________________________________________
  3374.  
  3375.             Name:     inc
  3376.  
  3377.             Type:     Builtin
  3378.  
  3379.             Default:  n/a
  3380.  
  3381.             Usage:    inc var [ count ]
  3382.  
  3383.             Range:    n/a
  3384.  
  3385.             About:    inc  increments  the  contents of  the  variable by
  3386.                       count, or 1 if count is not given.  It  is  equiva-
  3387.                       lent  to,  but  faster  than,  'var=$(expr  $var  +
  3388.                       $count)'
  3389.  
  3390.             Example:  inc my_var 3
  3391.  
  3392.             See Also: dec
  3393.  
  3394.           _________________________________________________________________
  3395.  
  3396.  
  3397.  
  3398.  
  3399.  
  3400.  
  3401.  
  3402.  
  3403.  
  3404.  
  3405.  
  3406.  
  3407.  
  3408.  
  3409.  
  3410.  
  3411.  
  3412.  
  3413.  
  3414.  
  3415.  
  3416.  
  3417.  
  3418.  
  3419.  
  3420.  
  3421.  
  3422.  
  3423.  
  3424.  
  3425.  
  3426.  
  3427.  
  3428.  
  3429.           SKsh Amiga Shell            Page 52             Reference Manual
  3430.  
  3431.  
  3432.  
  3433.  
  3434.  
  3435.  
  3436.  
  3437.  
  3438.  
  3439.           _________________________________________________________________
  3440.  
  3441.             Name:     info
  3442.  
  3443.             Type:     Builtin
  3444.  
  3445.             Default:  n/a
  3446.  
  3447.             Usage:    info [ -a ] [ device | directory ] ...
  3448.  
  3449.             Range:    n/a
  3450.  
  3451.             About:    info  reports the amount of free space available on
  3452.                       a  given  device or  directory.   It  prints  total
  3453.                       space  in  kilobytes, used space in  kilobytes, the
  3454.                       free  space  in  kilobytes, the number of bytes per
  3455.                       block,  the  percentage  capacity  utilization, the
  3456.                       total  number  of  errors, and the volume name.  If
  3457.                       info is given a  directory name as an argument, the
  3458.                       free  space  for  the  directory is the same as the
  3459.                       free space  for  the  device on which the directory
  3460.                       resides.
  3461.  
  3462.                       The  SKsh  info  command  reports data in 1024 byte
  3463.                       kilobytes, not 1000 byte kilobytes.  This may  lead
  3464.                       to  a  slightly  different  answer than other  info
  3465.                       commands.   The  SKsh   info command will deal cor-
  3466.                       rectly   with   file   systems  of  up  to  several
  3467.                       gigabytes  (should  you   happen  to  have  one  of
  3468.                       those).
  3469.  
  3470.  
  3471.                       If  the  info command is given the -a flag, it will
  3472.                       report  information on  all  the  currently mounted
  3473.                       devices.
  3474.  
  3475.  
  3476.             Example:  info sys: ram: df0:
  3477.                       info -a       # info for all devices
  3478.  
  3479.             See Also:
  3480.  
  3481.           _________________________________________________________________
  3482.  
  3483.  
  3484.  
  3485.  
  3486.  
  3487.  
  3488.  
  3489.  
  3490.  
  3491.  
  3492.  
  3493.  
  3494.  
  3495.           SKsh Amiga Shell            Page 53             Reference Manual
  3496.  
  3497.  
  3498.  
  3499.  
  3500.  
  3501.  
  3502.  
  3503.  
  3504.  
  3505.           _________________________________________________________________
  3506.  
  3507.             Name:     LASTRC
  3508.  
  3509.             Type:     Variable
  3510.  
  3511.             Default:  n/a
  3512.  
  3513.             Usage:    $LASTRC
  3514.  
  3515.             Range:    n/a
  3516.  
  3517.             About:    LASTRC stores the  return code from the last exter-
  3518.                       nal  command which was executed.  It is  not  reset
  3519.                       by  subsequent internal command return codes, as is
  3520.                       $?.
  3521.  
  3522.             Example:  some_external_command
  3523.                       echo
  3524.                       if [ $LASTRC -ne 0 ]
  3525.                       then
  3526.                          echo 'command failed!'
  3527.                       fi
  3528.  
  3529.             See Also: $?
  3530.  
  3531.           _________________________________________________________________
  3532.  
  3533.  
  3534.  
  3535.  
  3536.  
  3537.  
  3538.  
  3539.  
  3540.  
  3541.  
  3542.  
  3543.  
  3544.  
  3545.  
  3546.  
  3547.  
  3548.  
  3549.  
  3550.  
  3551.  
  3552.  
  3553.  
  3554.  
  3555.  
  3556.  
  3557.  
  3558.  
  3559.  
  3560.  
  3561.           SKsh Amiga Shell            Page 54             Reference Manual
  3562.  
  3563.  
  3564.  
  3565.  
  3566.  
  3567.  
  3568.  
  3569.  
  3570.  
  3571.           _________________________________________________________________
  3572.  
  3573.             Name:     LINES
  3574.  
  3575.             Type:     Variable
  3576.  
  3577.             Default:  24
  3578.  
  3579.             Usage:    $LINES
  3580.  
  3581.             Range:    3 to anything
  3582.  
  3583.             About:    This  variable is currently not used by SKsh; it is
  3584.                       provided  for  future  expansion, and for other ap-
  3585.                       plications or programs which might be interested.
  3586.  
  3587.                       This  variable  is  automatically set by SKsh  when
  3588.                       the  window  is  resized.   This   behavior can  be
  3589.                       turned off with the options command.
  3590.  
  3591.             Example:  if [ $LINES -lt 20 ]
  3592.                       then
  3593.                          echo "We require at least 20 lines!"
  3594.                       fi
  3595.  
  3596.             See Also: COLUMNS, options
  3597.  
  3598.           _________________________________________________________________
  3599.  
  3600.  
  3601.  
  3602.  
  3603.  
  3604.  
  3605.  
  3606.  
  3607.  
  3608.  
  3609.  
  3610.  
  3611.  
  3612.  
  3613.  
  3614.  
  3615.  
  3616.  
  3617.  
  3618.  
  3619.  
  3620.  
  3621.  
  3622.  
  3623.  
  3624.  
  3625.  
  3626.  
  3627.           SKsh Amiga Shell            Page 55             Reference Manual
  3628.  
  3629.  
  3630.  
  3631.  
  3632.  
  3633.  
  3634.  
  3635.  
  3636.  
  3637.           _________________________________________________________________
  3638.  
  3639.             Name:     ll
  3640.  
  3641.             Type:     Alias
  3642.  
  3643.             Default:  ls -lbF
  3644.  
  3645.             Usage:    ll [ file | dir ] ...
  3646.  
  3647.             Range:    n/a
  3648.  
  3649.             About:    ll  prints  a  long  format directory listing, with
  3650.                       only the basename of each file printed.  Note  that
  3651.                       the 'F' option to 'ls' is set.
  3652.  
  3653.             Example:  ll s:
  3654.  
  3655.             See Also: dir, ls
  3656.  
  3657.           _________________________________________________________________
  3658.  
  3659.  
  3660.  
  3661.  
  3662.  
  3663.  
  3664.  
  3665.  
  3666.  
  3667.  
  3668.  
  3669.  
  3670.  
  3671.  
  3672.  
  3673.  
  3674.  
  3675.  
  3676.  
  3677.  
  3678.  
  3679.  
  3680.  
  3681.  
  3682.  
  3683.  
  3684.  
  3685.  
  3686.  
  3687.  
  3688.  
  3689.  
  3690.  
  3691.  
  3692.  
  3693.           SKsh Amiga Shell            Page 56             Reference Manual
  3694.  
  3695.  
  3696.  
  3697.  
  3698.  
  3699.  
  3700.  
  3701.  
  3702.  
  3703.           _________________________________________________________________
  3704.  
  3705.             Name:     LLMIN
  3706.  
  3707.             Type:     Variable
  3708.  
  3709.             Default:  4
  3710.  
  3711.             Usage:    $LLMIN
  3712.  
  3713.             Range:    0 to 1023 inclusive
  3714.  
  3715.             About:    LLMIN  stores  the  minimum command line length for
  3716.                       which SKsh will  store  the  line  in  the  history
  3717.                       list.   Put   another way, lines shorter than  this
  3718.                       value are not  inserted into the history list.  For
  3719.                       example, a  line  containing only "cd" would be ig-
  3720.                       nored, as it is just as easy to re-type  as  it  is
  3721.                       to search for in the history list.
  3722.  
  3723.             Example:  LLMIN=0 # don't ignore any lines, even short ones
  3724.  
  3725.             See Also: MAXDIST, options
  3726.  
  3727.           _________________________________________________________________
  3728.  
  3729.  
  3730.  
  3731.  
  3732.  
  3733.  
  3734.  
  3735.  
  3736.  
  3737.  
  3738.  
  3739.  
  3740.  
  3741.  
  3742.  
  3743.  
  3744.  
  3745.  
  3746.  
  3747.  
  3748.  
  3749.  
  3750.  
  3751.  
  3752.  
  3753.  
  3754.  
  3755.  
  3756.  
  3757.  
  3758.  
  3759.           SKsh Amiga Shell            Page 57             Reference Manual
  3760.  
  3761.  
  3762.  
  3763.  
  3764.  
  3765.  
  3766.  
  3767.  
  3768.  
  3769.           _________________________________________________________________
  3770.  
  3771.             Name:     local
  3772.  
  3773.             Type:     Builtin
  3774.  
  3775.             Default:  n/a
  3776.  
  3777.             Usage:    local [ varname ... ]
  3778.  
  3779.             Range:    n/a
  3780.  
  3781.             About:    The  local  command can be used to enforce the cre-
  3782.                       ation of  local variables if the 'N' option and the
  3783.                       'l' to SKsh  are  set  (see  the  options command).
  3784.                       Normally with the  'N'  option set, local variables
  3785.                       are  created only if  they  had  not  been  created
  3786.                       first in  an  enclosing context.  The local command
  3787.                       makes  them  local even if there had been a  previ-
  3788.                       ously  defined  variable of the same name in an en-
  3789.                       closing context.  Note that this  command will have
  3790.                       no  effect if SKsh  local variables are disabled by
  3791.                       turning off the 'l' option.
  3792.  
  3793.             Example:  function my_func {
  3794.                          local answer;
  3795.                          answer = 42
  3796.                       }
  3797.  
  3798.             See Also: options
  3799.  
  3800.           _________________________________________________________________
  3801.  
  3802.  
  3803.  
  3804.  
  3805.  
  3806.  
  3807.  
  3808.  
  3809.  
  3810.  
  3811.  
  3812.  
  3813.  
  3814.  
  3815.  
  3816.  
  3817.  
  3818.  
  3819.  
  3820.  
  3821.  
  3822.  
  3823.  
  3824.  
  3825.           SKsh Amiga Shell            Page 58             Reference Manual
  3826.  
  3827.  
  3828.  
  3829.  
  3830.  
  3831.  
  3832.  
  3833.  
  3834.  
  3835.           _________________________________________________________________
  3836.  
  3837.             Name:     LOGOUT
  3838.  
  3839.             Type:     Variable
  3840.  
  3841.             Default:  'echo "\nBye!\n"'
  3842.  
  3843.             Usage:    $LOGOUT
  3844.  
  3845.             Range:    n/a
  3846.  
  3847.             About:    The text of this variable is executed by SKsh  when
  3848.                       the exit command is used to terminate execution.
  3849.  
  3850.             Example:  LOGOUT='';    # do nothing
  3851.  
  3852.             See Also: exit
  3853.  
  3854.           _________________________________________________________________
  3855.  
  3856.  
  3857.  
  3858.  
  3859.  
  3860.  
  3861.  
  3862.  
  3863.  
  3864.  
  3865.  
  3866.  
  3867.  
  3868.  
  3869.  
  3870.  
  3871.  
  3872.  
  3873.  
  3874.  
  3875.  
  3876.  
  3877.  
  3878.  
  3879.  
  3880.  
  3881.  
  3882.  
  3883.  
  3884.  
  3885.  
  3886.  
  3887.  
  3888.  
  3889.  
  3890.  
  3891.           SKsh Amiga Shell            Page 59             Reference Manual
  3892.  
  3893.  
  3894.  
  3895.  
  3896.  
  3897.  
  3898.  
  3899.  
  3900.  
  3901.           _________________________________________________________________
  3902.  
  3903.             Name:     ls
  3904.  
  3905.             Type:     Builtin
  3906.  
  3907.             Default:  n/a
  3908.  
  3909.             Usage:    ls [ -aldhi1bvF ] [ dirname | fname ] ...
  3910.  
  3911.             Range:    n/a
  3912.  
  3913.             About:    This  command is used  to  obtain information about
  3914.                       files or directories.  With  no  arguments, it sim-
  3915.                       ply lists  the  contents of the current working di-
  3916.                       rectory,  leaving out  files  beginning with a dot.
  3917.                       If the  'I'  option to SKsh is set (see the options
  3918.                       command), all .info files are also left  out  (this
  3919.                       feature exists because I hate .info files).
  3920.  
  3921.                       The  'a'  option causes  ls to list files beginning
  3922.                       with a dot.   Similarly, the 'i' option lists .info
  3923.                       files even if the  'I'  option to SKsh is set.  The
  3924.                       'h' option lists files with the hidden bit set.
  3925.  
  3926.                       The  'l'  option  creates a long  format list, with
  3927.                       filename,   protection  status,  byte  size,  block
  3928.                       size,  and  modification date listed.  (The ll com-
  3929.                       mand has been aliased  to  'ls  -l'  to  make  this
  3930.                       easier).
  3931.  
  3932.                       The  '1'  option  creates a short  format list with
  3933.                       one  column  instead  of  three  (useful for piping
  3934.                       filenames into a command).
  3935.  
  3936.                       The 'd'  option forces directories to be printed as
  3937.                       such.    Normally if the  ls command is given a di-
  3938.                       rectory as  an  argument, it prints the contents of
  3939.                       that directory.  The 'd'  option prints information
  3940.                       on  the  directory itself.  This is useful with the
  3941.                       'l'  option to find  the  modification date or pro-
  3942.                       tection status of a directory.
  3943.  
  3944.                       The  'b'  option causes only the basename  of  each
  3945.                       file to be printed.   Normally, if a path to a file
  3946.                       is given, SKsh will print the  path  information in
  3947.                       each  entry  in  the  ls output.   The  'b'  option
  3948.                       leaves out the path  information, printing only the
  3949.                       basename.
  3950.  
  3951.                       The  'v'  option prints a count  of  entries listed
  3952.                       after  the  listing  itself.   Also,  a  total byte
  3953.                       count is printed, which is the sum of the sizes  of
  3954.                       each file listed.
  3955.  
  3956.  
  3957.           SKsh Amiga Shell            Page 60             Reference Manual
  3958.  
  3959.  
  3960.  
  3961.  
  3962.  
  3963.  
  3964.  
  3965.  
  3966.  
  3967.  
  3968.                       The 'F'  option instructs 'ls' to output the appro-
  3969.                       priate _FILE_S, _FILE_E, _DIR_S,  _DIR_E,  _EXEC_S,
  3970.                       and  _EXEC_E  variables  before and after each file
  3971.                       name printed in  either the short or long directory
  3972.                       format.  See  the  documentation on those variables
  3973.                       for details on their usage.
  3974.  
  3975.                       The short form  of  the  ls command normally prints
  3976.                       the files in columns.   To  decide how many columns
  3977.                       there  should  be,  it  examines the $COLUMNS vari-
  3978.                       able,  divides  the  result by the  length  of  the
  3979.                       longest file name to  be  printed,  and  insures at
  3980.                       least a three character gutter between columns.
  3981.  
  3982.                       The  ls  command outputs an error message if passed
  3983.                       an  argument  which  does  not  exist as a file  or
  3984.                       directory.
  3985.  
  3986.             Example:  ls -li my_dir   # list my_dir including info files
  3987.  
  3988.             See Also: options, dir, ll
  3989.  
  3990.           _________________________________________________________________
  3991.  
  3992.  
  3993.  
  3994.  
  3995.  
  3996.  
  3997.  
  3998.  
  3999.  
  4000.  
  4001.  
  4002.  
  4003.  
  4004.  
  4005.  
  4006.  
  4007.  
  4008.  
  4009.  
  4010.  
  4011.  
  4012.  
  4013.  
  4014.  
  4015.  
  4016.  
  4017.  
  4018.  
  4019.  
  4020.  
  4021.  
  4022.  
  4023.           SKsh Amiga Shell            Page 61             Reference Manual
  4024.  
  4025.  
  4026.  
  4027.  
  4028.  
  4029.  
  4030.  
  4031.  
  4032.  
  4033.           _________________________________________________________________
  4034.  
  4035.             Name:     match
  4036.  
  4037.             Type:     Builtin
  4038.  
  4039.             Default:  n/a
  4040.  
  4041.             Usage:    match [ -v ] pattern [ string ... ]
  4042.  
  4043.             Range:    n/a
  4044.  
  4045.             About:    match prints each string that matches  the  pattern
  4046.                       given in the  first  argument.   The  pattern is of
  4047.                       the same type used by SKsh for filename  wildcards,
  4048.                       but it must be quoted  to  avoid  being expanded in
  4049.                       that manner.  If the 'v' flag is set, only  strings
  4050.                       not matching the pattern are printed.
  4051.  
  4052.             Example:  match '*.[ch]' file1.foo file1.c file2.h my_file
  4053.  
  4054.             See Also:
  4055.  
  4056.           _________________________________________________________________
  4057.  
  4058.  
  4059.  
  4060.  
  4061.  
  4062.  
  4063.  
  4064.  
  4065.  
  4066.  
  4067.  
  4068.  
  4069.  
  4070.  
  4071.  
  4072.  
  4073.  
  4074.  
  4075.  
  4076.  
  4077.  
  4078.  
  4079.  
  4080.  
  4081.  
  4082.  
  4083.  
  4084.  
  4085.  
  4086.  
  4087.  
  4088.  
  4089.           SKsh Amiga Shell            Page 62             Reference Manual
  4090.  
  4091.  
  4092.  
  4093.  
  4094.  
  4095.  
  4096.  
  4097.  
  4098.  
  4099.           _________________________________________________________________
  4100.  
  4101.             Name:     MAXDIST
  4102.  
  4103.             Type:     Variable
  4104.  
  4105.             Default:  5
  4106.  
  4107.             Usage:    $MAXDIST
  4108.  
  4109.             Range:    0 to 32000 inclusive
  4110.  
  4111.             About:    When  a  command is  entered from the keyboard with
  4112.                       line  editing enabled, SKsh checks for an identical
  4113.                       line  in  the  history list.  If one is found  less
  4114.                       than $MAXDIST lines away, the new one  is  not  en-
  4115.                       tered into the  history list.  This has two benefi-
  4116.                       cial effects.  First, if  the  same  command is en-
  4117.                       tered  several times in a row, it will only  appear
  4118.                       once in  the  history list.  Second, commands which
  4119.                       have not  been  entered for a long time will be en-
  4120.                       tered again so they do not scroll  of  the  end  of
  4121.                       the list.   This  rule  applies whether the command
  4122.                       was typed or  accessed from a previous history list
  4123.                       entry.
  4124.  
  4125.             Example:  MAXDIST=10 # re-enter lines if they get too far
  4126.  
  4127.             See Also: LLMIN, options
  4128.  
  4129.           _________________________________________________________________
  4130.  
  4131.  
  4132.  
  4133.  
  4134.  
  4135.  
  4136.  
  4137.  
  4138.  
  4139.  
  4140.  
  4141.  
  4142.  
  4143.  
  4144.  
  4145.  
  4146.  
  4147.  
  4148.  
  4149.  
  4150.  
  4151.  
  4152.  
  4153.  
  4154.  
  4155.           SKsh Amiga Shell            Page 63             Reference Manual
  4156.  
  4157.  
  4158.  
  4159.  
  4160.  
  4161.  
  4162.  
  4163.  
  4164.  
  4165.           _________________________________________________________________
  4166.  
  4167.             Name:     mem
  4168.  
  4169.             Type:     Builtin
  4170.  
  4171.             Default:  n/a
  4172.  
  4173.             Usage:    mem [ -tcf ]
  4174.  
  4175.             Range:    n/a
  4176.  
  4177.             About:    mem  reports the  amount  of  free  chip  and  fast
  4178.                       memory, as well as a total.  If  the  't'  flag  is
  4179.                       set,  only  the  total is printed.  If the  'c'  is
  4180.                       set, only chip memory is listed,  and  if  the  'f'
  4181.                       flag is set, only fast memory is listed.
  4182.  
  4183.             Example:  if [ $(mem -t) -lt 400000 ]
  4184.                       then
  4185.                          echo 'you must have at least 400K free'
  4186.                       fi
  4187.  
  4188.             See Also:
  4189.  
  4190.           _________________________________________________________________
  4191.  
  4192.  
  4193.  
  4194.  
  4195.  
  4196.  
  4197.  
  4198.  
  4199.  
  4200.  
  4201.  
  4202.  
  4203.  
  4204.  
  4205.  
  4206.  
  4207.  
  4208.  
  4209.  
  4210.  
  4211.  
  4212.  
  4213.  
  4214.  
  4215.  
  4216.  
  4217.  
  4218.  
  4219.  
  4220.  
  4221.           SKsh Amiga Shell            Page 64             Reference Manual
  4222.  
  4223.  
  4224.  
  4225.  
  4226.  
  4227.  
  4228.  
  4229.  
  4230.  
  4231.           _________________________________________________________________
  4232.  
  4233.             Name:     mkdir
  4234.  
  4235.             Type:     Builtin
  4236.  
  4237.             Default:  n/a
  4238.  
  4239.             Usage:    mkdir [ dirname ... ]
  4240.  
  4241.             Range:    n/a
  4242.  
  4243.             About:    mkdir  creates  directories with names identical to
  4244.                       the parameters passed to it.
  4245.  
  4246.             Example:  mkdir my_dir sys:system/my_other_dir
  4247.  
  4248.             See Also: rmdir
  4249.  
  4250.           _________________________________________________________________
  4251.  
  4252.  
  4253.  
  4254.  
  4255.  
  4256.  
  4257.  
  4258.  
  4259.  
  4260.  
  4261.  
  4262.  
  4263.  
  4264.  
  4265.  
  4266.  
  4267.  
  4268.  
  4269.  
  4270.  
  4271.  
  4272.  
  4273.  
  4274.  
  4275.  
  4276.  
  4277.  
  4278.  
  4279.  
  4280.  
  4281.  
  4282.  
  4283.  
  4284.  
  4285.  
  4286.  
  4287.           SKsh Amiga Shell            Page 65             Reference Manual
  4288.  
  4289.  
  4290.  
  4291.  
  4292.  
  4293.  
  4294.  
  4295.  
  4296.  
  4297.           _________________________________________________________________
  4298.  
  4299.             Name:     mv
  4300.  
  4301.             Type:     Builtin
  4302.  
  4303.             Default:  n/a
  4304.  
  4305.             Usage:    mv [ -v ] source1 [ source2 ... ] destination
  4306.  
  4307.             Range:    n/a
  4308.  
  4309.             About:    mv  moves  files  or  directories by renaming them.
  4310.                       Thus,  it   cannot  be  used  to  move  data  cross
  4311.                       devices.  If more than one  source  is  given,  the
  4312.                       destination  must  be  a  directory or nonexistant.
  4313.                       If   it   is   nonexistant,  it  is  created  as  a
  4314.                       directory.
  4315.  
  4316.                       The  -v  option prints the name of each file as  it
  4317.                       is moved.
  4318.  
  4319.             Example:  mv my_dir sys:another_dir/my_other_dir
  4320.  
  4321.             See Also: cp
  4322.  
  4323.           _________________________________________________________________
  4324.  
  4325.  
  4326.  
  4327.  
  4328.  
  4329.  
  4330.  
  4331.  
  4332.  
  4333.  
  4334.  
  4335.  
  4336.  
  4337.  
  4338.  
  4339.  
  4340.  
  4341.  
  4342.  
  4343.  
  4344.  
  4345.  
  4346.  
  4347.  
  4348.  
  4349.  
  4350.  
  4351.  
  4352.  
  4353.           SKsh Amiga Shell            Page 66             Reference Manual
  4354.  
  4355.  
  4356.  
  4357.  
  4358.  
  4359.  
  4360.  
  4361.  
  4362.  
  4363.           _________________________________________________________________
  4364.  
  4365.             Name:     OLDPWD
  4366.  
  4367.             Type:     Variable
  4368.  
  4369.             Default:  old present working directory string
  4370.  
  4371.             Usage:    $OLDPWD
  4372.  
  4373.             Range:    n/a
  4374.  
  4375.             About:    When  the  present  working  directory is  changed,
  4376.                       SKsh puts the old PWD value into OLDPWD.  The  cd -
  4377.                       p command can be used to return to OLDPWD.
  4378.  
  4379.             Example:  echo $PWD; cd c:; echo $OLDPWD
  4380.  
  4381.             See Also: PWD, pwd, cd
  4382.  
  4383.           _________________________________________________________________
  4384.  
  4385.  
  4386.  
  4387.  
  4388.  
  4389.  
  4390.  
  4391.  
  4392.  
  4393.  
  4394.  
  4395.  
  4396.  
  4397.  
  4398.  
  4399.  
  4400.  
  4401.  
  4402.  
  4403.  
  4404.  
  4405.  
  4406.  
  4407.  
  4408.  
  4409.  
  4410.  
  4411.  
  4412.  
  4413.  
  4414.  
  4415.  
  4416.  
  4417.  
  4418.  
  4419.           SKsh Amiga Shell            Page 67             Reference Manual
  4420.  
  4421.  
  4422.  
  4423.  
  4424.  
  4425.  
  4426.  
  4427.  
  4428.  
  4429.           _________________________________________________________________
  4430.  
  4431.             Name:     options
  4432.  
  4433.             Type:     Builtin
  4434.  
  4435.             Default:  n/a
  4436.  
  4437.             Usage:    options [ -opts | +opts ] ...
  4438.  
  4439.             Range:    n/a
  4440.  
  4441.             About:    The  options  command  provides a way to change the
  4442.                       default  behavior of SKsh in a number of areas.  If
  4443.                       the  command is  entered with no parameters, simply
  4444.                       prints  the  current options string, which is a se-
  4445.                       ries  of  letters and digits.   Otherwise, it exam-
  4446.                       ines  each  parameter in turn.  Each  parameter can
  4447.                       begin with a '+' or '-'; a '+' turns "on"  the  op-
  4448.                       tions  corresponding  each  letter, and a '-' turns
  4449.                       them "off".
  4450.  
  4451.                       +1   Set  the  overstrike/insert mode back  to  the
  4452.                            default  value  after a return.  If this  flag
  4453.                            is  not  set,  the  overstrike/insert mode re-
  4454.                            mains set to what it was previously.
  4455.  
  4456.                       +c   If  set,  SKsh  wildcard  expansion,  filename
  4457.                            completion, and a few other features  will  be
  4458.                            case independent.   If  unset,  they  will  be
  4459.                            case dependent.
  4460.  
  4461.                       +e   If  set,  disable  command line editing.  This
  4462.                            might  be  useful for using SKsh from a termi-
  4463.                            nal that does not  support the ANSI escape se-
  4464.                            quences SKsh  uses  for  line  editing.   Note
  4465.                            that is flag is SET in  .skshinit.   You  must
  4466.                            reset it in .skshrc if you wish  to  use  line
  4467.                            editing (the .skshrc  file  supplied with SKsh
  4468.                            does this).
  4469.  
  4470.                       +f   If set, disable wildcard filename expansion.
  4471.  
  4472.                       +h   If  set,  always  create a  new  history line,
  4473.                            even  if  an  old  command  was  executed with
  4474.                            'history  -e'  or   the   interactive  editing
  4475.                            facility.   If  not  set,  executing old lines
  4476.                            will not create a new history entry.
  4477.  
  4478.                       +i   If set, use IFS to split $( )  command substi-
  4479.                            tution text, much  as  it  is  used  to  split
  4480.                            variable value expansion text.
  4481.  
  4482.                       +l   If  set,  variables referenced in functions or
  4483.  
  4484.  
  4485.           SKsh Amiga Shell            Page 68             Reference Manual
  4486.  
  4487.  
  4488.  
  4489.  
  4490.  
  4491.  
  4492.  
  4493.  
  4494.  
  4495.                            parenthetical  subshells  will  be  local (al-
  4496.                            though this  also  depends on the 'n' option).
  4497.                            If not set, there will be no  local variables.
  4498.                            Note  that  resetting this flag may have large
  4499.                            side   effects   when   running  scripts   and
  4500.                            functions.   The   advantage is that it  takes
  4501.                            less memory and is faster.
  4502.  
  4503.                       +n   If set, only read scripts, but do not  execute
  4504.                            their commands.  This is  ignored for interac-
  4505.                            tive use.
  4506.  
  4507.                       +p   If set,  use  the  exec  prompt  string  mode.
  4508.                            This tells sksh not to use the  prompt  string
  4509.                            as the prompt  directly, but rather to pass it
  4510.                            through  the  command  interpreter first,  and
  4511.                            use  the  results  as  the  prompt.   This  is
  4512.                            slower, but more powerful.
  4513.  
  4514.                       +s   If   set,   sort   filename   parameters  from
  4515.                            wildcard expansion.
  4516.  
  4517.                       +v   If  set,  variable  expansions  which  contain
  4518.                            wildcard  characters will use  those  wildcard
  4519.                            characters  in  filename  matching.   For  ex-
  4520.                            ample,  if  the  "foo"  variable contains "*",
  4521.                            then "echo $foo.bar" would echo any file  name
  4522.                            ending with ".bar".  If the v flag  is  RESET,
  4523.                            then  it  would  simply echo "*.bar"; ie,  the
  4524.                            value  of  the  variable would be  substituted
  4525.                            but ignored for filename matching.
  4526.  
  4527.                       +w   If set, SKsh will  use  the  dwclist to selec-
  4528.                            tively  bypass  wildcard  file  expansion on a
  4529.                            command  by  command basis.   It  is  reset by
  4530.                            default.
  4531.  
  4532.                       +x   If set, print each lines as  it  is  executed.
  4533.                            Moderately useful for debugging scripts.
  4534.  
  4535.                       +C   Enable the  internal completion list.  See the
  4536.                            complist  command for details.  If  reset, the
  4537.                            internal completion list will be ignored.
  4538.  
  4539.                       +F   If set, map UNIX style filenames  to  AmigaDos
  4540.                            style  file  names.   A  leading '/' becomes a
  4541.                            ':',  a  '~'  inserts the contents of the HOME
  4542.                            variable,  a  '.'  becomes the  current direc-
  4543.                            tory, and two dots become a slash.
  4544.  
  4545.                       +I   If set, leave out the .info files from  direc-
  4546.                            tory  listings  unless the 'i'  option to 'ls'
  4547.                            is explicitly set.
  4548.  
  4549.  
  4550.  
  4551.           SKsh Amiga Shell            Page 69             Reference Manual
  4552.  
  4553.  
  4554.  
  4555.  
  4556.  
  4557.  
  4558.  
  4559.  
  4560.  
  4561.                       +N   Create  new  variables in a  subshell or func-
  4562.                            tion  only  if  a  variable with the same name
  4563.                            does  not  exist in an outer context.  If  one
  4564.                            does  exist, that one will be used  instead of
  4565.                            making  a  new  local  variable.   This   flag
  4566.                            changes the scoping  rules,  and  can  have  a
  4567.                            large  effect in the  execution of scripts and
  4568.                            functions; it should be used with care.
  4569.  
  4570.                       +O   Use  overstrike  instead of insert mode as the
  4571.                            default for command line editing.
  4572.  
  4573.                       +P   If set,  ^r  history searches and 'history -e'
  4574.                            style  history  access will only  match  lines
  4575.                            beginning with the given  string.   If  unset,
  4576.                            the string  can  match  any  location within a
  4577.                            history line.
  4578.  
  4579.                       +R   Disable  automatic  setting of LINES and  COL-
  4580.                            UMNS  variables.    Normally, these  variables
  4581.                            are  set  after the  window is re-sized at the
  4582.                            next  interactive prompt.  To set  them  manu-
  4583.                            ally and not  be  overridden by SKsh, use this
  4584.                            options flag.
  4585.  
  4586.                       +S   Insert a single  blank  line  before and after
  4587.                            the     prompt     when     typing    commands
  4588.                            interactively.   For   interlace screens where
  4589.                            more than 36 or so lines are  displayed, using
  4590.                            the  S  option can  create a more visually ap-
  4591.                            pealing and "tidy" display.
  4592.  
  4593.                       +U   The  U  option, if set, causes SKsh to  use  a
  4594.                            requester if a  component of the path contains
  4595.                            an  unmounted volume.  This also  affects sev-
  4596.                            eral  other  areas,  such  as  the  '-m'  test
  4597.                            expression.
  4598.  
  4599.  
  4600.             Example:  # see which options are turned on:
  4601.                       options
  4602.                       # reset all options:
  4603.                       options $(echo -c - '-' $(options))
  4604.  
  4605.             See Also:
  4606.  
  4607.           _________________________________________________________________
  4608.  
  4609.  
  4610.  
  4611.  
  4612.  
  4613.  
  4614.  
  4615.  
  4616.  
  4617.           SKsh Amiga Shell            Page 70             Reference Manual
  4618.  
  4619.  
  4620.  
  4621.  
  4622.  
  4623.  
  4624.  
  4625.  
  4626.  
  4627.           _________________________________________________________________
  4628.  
  4629.             Name:     PATH
  4630.  
  4631.             Type:     Variable
  4632.  
  4633.             Default:  '.,c:'
  4634.  
  4635.             Usage:    $PATH
  4636.  
  4637.             Range:    n/a
  4638.  
  4639.             About:    This  variable  contains a comma  separated list of
  4640.                       directory  names.   When  SKsh  executes a file, it
  4641.                       searches for it in these  directories.   Note  that
  4642.                       the  current  working  directory must be  specified
  4643.                       explicitly (".").  This lets you change  the  order
  4644.                       of the search.  For  example, you could move "." to
  4645.                       the end of the path to search it last.  The  direc-
  4646.                       tory names in the path do not  need  to  be  termi-
  4647.                       nated by a slash; SKsh will add one if  it  is  not
  4648.                       there.
  4649.  
  4650.                       If SKsh finds the file name  in  the  search  path,
  4651.                       and the file has its script bit set, SKsh will  at-
  4652.                       tempt  to  execute this file as a script instead of
  4653.                       a binary.
  4654.  
  4655.                       The  PATH  variable is also used by  the  which and
  4656.                       whence commands.
  4657.  
  4658.                       Entries in the  path  which  are  on  currently un-
  4659.                       mounted  devices  are  bypassed silently,  although
  4660.                       this behavior  can  be  changed  with  the  options
  4661.                       command.
  4662.  
  4663.             Example:  c:run $(which emacs) my_file
  4664.  
  4665.             See Also: path, which, whence
  4666.  
  4667.           _________________________________________________________________
  4668.  
  4669.  
  4670.  
  4671.  
  4672.  
  4673.  
  4674.  
  4675.  
  4676.  
  4677.  
  4678.  
  4679.  
  4680.  
  4681.  
  4682.  
  4683.           SKsh Amiga Shell            Page 71             Reference Manual
  4684.  
  4685.  
  4686.  
  4687.  
  4688.  
  4689.  
  4690.  
  4691.  
  4692.  
  4693.           _________________________________________________________________
  4694.  
  4695.             Name:     path
  4696.  
  4697.             Type:     Function
  4698.  
  4699.             Default:  see the .skshinit file
  4700.  
  4701.             Usage:    path
  4702.                       path name
  4703.                       path -add [ name ... ]
  4704.  
  4705.             Range:    n/a
  4706.  
  4707.             About:    This  function  is  provided to make the PATH vari-
  4708.                       able easier to set up and manipulate.
  4709.  
  4710.                       With  no  arguments, path simply prints the current
  4711.                       path definition.
  4712.  
  4713.                       The  second form above sets  the  path  variable to
  4714.                       name.
  4715.  
  4716.                       The third form above adds each  name  to  the  path
  4717.                       variable  list,  provided  that  it  is  not  there
  4718.                       already.  If  the  name  is  already a component of
  4719.                       the path, it is ignored.
  4720.  
  4721.             Example:  path -add sys:bin sys:pd/bin
  4722.  
  4723.             See Also: PATH
  4724.  
  4725.           _________________________________________________________________
  4726.  
  4727.  
  4728.  
  4729.  
  4730.  
  4731.  
  4732.  
  4733.  
  4734.  
  4735.  
  4736.  
  4737.  
  4738.  
  4739.  
  4740.  
  4741.  
  4742.  
  4743.  
  4744.  
  4745.  
  4746.  
  4747.  
  4748.  
  4749.           SKsh Amiga Shell            Page 72             Reference Manual
  4750.  
  4751.  
  4752.  
  4753.  
  4754.  
  4755.  
  4756.  
  4757.  
  4758.  
  4759.           _________________________________________________________________
  4760.  
  4761.             Name:     PNPC
  4762.  
  4763.             Type:     Variable
  4764.  
  4765.             Default:  21
  4766.  
  4767.             Usage:    $PNPC
  4768.  
  4769.             Range:    0 to 63
  4770.  
  4771.             About:    This  variable is  one  of  several responsible for
  4772.                       controlling  the  actions of SKsh line  editing and
  4773.                       display output.  PNPC  tells  SKsh  how  many  non-
  4774.                       printing  control  characters there are in the cur-
  4775.                       rently  defined prompt strings (both PS1 and  PS2).
  4776.                       SKsh needs to know this so that  it  can  find  the
  4777.                       actual  printing width of the  prompt  string  from
  4778.                       the  actual  character length.  You will only  have
  4779.                       to change PNPC if  you  change  the  number of ANSI
  4780.                       control sequences in your prompt.
  4781.  
  4782.             Example:  PNPC=0
  4783.  
  4784.             See Also: COLUMNS, PS1, PS2, options
  4785.  
  4786.           _________________________________________________________________
  4787.  
  4788.  
  4789.  
  4790.  
  4791.  
  4792.  
  4793.  
  4794.  
  4795.  
  4796.  
  4797.  
  4798.  
  4799.  
  4800.  
  4801.  
  4802.  
  4803.  
  4804.  
  4805.  
  4806.  
  4807.  
  4808.  
  4809.  
  4810.  
  4811.  
  4812.  
  4813.  
  4814.  
  4815.           SKsh Amiga Shell            Page 73             Reference Manual
  4816.  
  4817.  
  4818.  
  4819.  
  4820.  
  4821.  
  4822.  
  4823.  
  4824.  
  4825.           _________________________________________________________________
  4826.  
  4827.             Name:     preparse
  4828.  
  4829.             Type:     Builtin
  4830.  
  4831.             Default:  n/a
  4832.  
  4833.             Usage:    preparse < infile > outfile
  4834.  
  4835.             Range:    n/a
  4836.  
  4837.             About:    preparse reads  a  legal SKsh script from its stan-
  4838.                       dard  input and  produces a "preparsed" file on its
  4839.                       standard output.  This preparsed file can  then  be
  4840.                       read back into SKsh much  (2  to  3  times)  faster
  4841.                       than  a  normal SKsh script  file.   The  preparsed
  4842.                       file acts just like a script file; if  it  has  its
  4843.                       script bit set, it  can  be  automatically executed
  4844.                       by  typing its name.  It can also be sourced.  How-
  4845.                       ever, it is not in a human readable format.
  4846.  
  4847.                       SKsh  guarantees that script files will be upwardly
  4848.                       compatible   between  versions  of  SKsh;  however,
  4849.                       preparsed  files  will  not  be.    Therefore,  the
  4850.                       source scripts must be retained.
  4851.  
  4852.                       SKsh  will  automatically detect preparsed versions
  4853.                       of  the  .skshinit  and   .skshrc   files   (called
  4854.                       .skshinit.pp and .skshrc.pp) and use those if  they
  4855.                       exist.  This  can  dramatically reduce SKsh invoca-
  4856.                       tion time.
  4857.  
  4858.                       SKsh will  issue an error message if you try to ex-
  4859.                       ecute a  preparsed  file  from  an  old  version of
  4860.                       SKsh.
  4861.  
  4862.                       Preparsing files  will  probably make a significant
  4863.                       difference only if the file is later  read  from  a
  4864.                       hard disk or a ram drive.  From a floppy, SKsh  can
  4865.                       parse the file nearly as fast  as  the  floppy  can
  4866.                       read it.
  4867.  
  4868.             Example:  preparse < Stuff.sksh > Stuff.sksh.pp
  4869.  
  4870.             See Also: Addendum1.5.doc for an example  of  how  to  source
  4871.                       other preparesed files from your .skshrc file.
  4872.  
  4873.           _________________________________________________________________
  4874.  
  4875.  
  4876.  
  4877.  
  4878.  
  4879.  
  4880.  
  4881.           SKsh Amiga Shell            Page 74             Reference Manual
  4882.  
  4883.  
  4884.  
  4885.  
  4886.  
  4887.  
  4888.  
  4889.  
  4890.  
  4891.           _________________________________________________________________
  4892.  
  4893.             Name:     printf
  4894.  
  4895.             Type:     Builtin
  4896.  
  4897.             Default:  n/a
  4898.  
  4899.             Usage:    printf formatstring parameters...
  4900.  
  4901.             Range:    n/a
  4902.  
  4903.             About:    printf  is  similar to the  C  function of the same
  4904.                       name.  The  first  parameters is the format string,
  4905.                       and  the  rest  are  inserted appropriately.   Note
  4906.                       that there  are  no  associated fprintf and sprintf
  4907.                       functions,  as  those  can  be  easily accomplished
  4908.                       with "var=$(printf)" or "printf >>file".
  4909.  
  4910.                       The  echo  statement should be used when no format-
  4911.                       ting is needed.
  4912.  
  4913.             Notes:    To print  integers, "%ld" should always be used in-
  4914.                       stead of "%d".
  4915.  
  4916.                       The  "%c"  option does not  work.   Instead, use %s
  4917.                       with a one character string.
  4918.  
  4919.                       Any  argument beginning with "-" or a digit will be
  4920.                       converted to a 32  bit  integer before being passed
  4921.                       to printf.   This  is  necessary as SKsh stores all
  4922.                       values  internally as strings.  If you wish to  use
  4923.                       such  a  parameter with the "%s"  format, prefix it
  4924.                       with a leading space.
  4925.  
  4926.                       The  result string must fit within one  SKsh  token
  4927.                       (1023  characters).  SKsh does not check for  over-
  4928.                       flow, so it would be advisable to heed this limit.
  4929.  
  4930.             Example:  printf "Test: %10s %5ld" FOO 42
  4931.  
  4932.             See Also: echo
  4933.  
  4934.           _________________________________________________________________
  4935.  
  4936.  
  4937.  
  4938.  
  4939.  
  4940.  
  4941.  
  4942.  
  4943.  
  4944.  
  4945.  
  4946.  
  4947.           SKsh Amiga Shell            Page 75             Reference Manual
  4948.  
  4949.  
  4950.  
  4951.  
  4952.  
  4953.  
  4954.  
  4955.  
  4956.  
  4957.           _________________________________________________________________
  4958.  
  4959.             Name:     ps
  4960.  
  4961.             Type:     Builtin
  4962.  
  4963.             Default:  n/a
  4964.  
  4965.             Usage:    ps
  4966.  
  4967.             Range:    n/a
  4968.  
  4969.             About:    ps prints, for each  CLI  process, the process num-
  4970.                       ber,  the  address of the  process, the priority of
  4971.                       the  process, the  command name associated with the
  4972.                       process, and the  current working directory for the
  4973.                       process.
  4974.  
  4975.             Example:  ps
  4976.  
  4977.             See Also:
  4978.  
  4979.           _________________________________________________________________
  4980.  
  4981.  
  4982.  
  4983.  
  4984.  
  4985.  
  4986.  
  4987.  
  4988.  
  4989.  
  4990.  
  4991.  
  4992.  
  4993.  
  4994.  
  4995.  
  4996.  
  4997.  
  4998.  
  4999.  
  5000.  
  5001.  
  5002.  
  5003.  
  5004.  
  5005.  
  5006.  
  5007.  
  5008.  
  5009.  
  5010.  
  5011.  
  5012.  
  5013.           SKsh Amiga Shell            Page 76             Reference Manual
  5014.  
  5015.  
  5016.  
  5017.  
  5018.  
  5019.  
  5020.  
  5021.  
  5022.  
  5023.           _________________________________________________________________
  5024.  
  5025.             Name:     PS1
  5026.  
  5027.             Type:     Variable
  5028.  
  5029.             Default:  '$_ANSI_P3[$PWD]: $_ANSI_P1'
  5030.  
  5031.             Usage:    $PS1
  5032.  
  5033.             Range:    n/a
  5034.  
  5035.             About:    This  variable  controls the  primary prompt string
  5036.                       displayed by SKsh.  If the 'p'  SKsh  option is not
  5037.                       set  (see  options), SKsh  expands the variables in
  5038.                       the string,  and  outputs it as the primary prompt.
  5039.                       For this  reason, PS1 should be defined to a single
  5040.                       quoted string, so that  the  variables are expanded
  5041.                       at the proper time and not when PS1 is defined.
  5042.  
  5043.                       If  the  'p'  option to SKsh is set, SKsh sends the
  5044.                       contents of  the  PS1  variable through the command
  5045.                       interpreter,  and  displays the  result as the pri-
  5046.                       mary prompt.  In this case,  PS1  should  contain a
  5047.                       string which when  executed, will print the desired
  5048.                       prompt.  This is  slower  than  the  default method
  5049.                       above.
  5050.  
  5051.             Example:  PS1='$ '; PNPC=0
  5052.  
  5053.             See Also: PS2, PNPC, options
  5054.  
  5055.           _________________________________________________________________
  5056.  
  5057.  
  5058.  
  5059.  
  5060.  
  5061.  
  5062.  
  5063.  
  5064.  
  5065.  
  5066.  
  5067.  
  5068.  
  5069.  
  5070.  
  5071.  
  5072.  
  5073.  
  5074.  
  5075.  
  5076.  
  5077.  
  5078.  
  5079.           SKsh Amiga Shell            Page 77             Reference Manual
  5080.  
  5081.  
  5082.  
  5083.  
  5084.  
  5085.  
  5086.  
  5087.  
  5088.  
  5089.           _________________________________________________________________
  5090.  
  5091.             Name:     PS2
  5092.  
  5093.             Type:     Variable
  5094.  
  5095.             Default:  '$_ANSI_P3> $_ANSI_P1'
  5096.  
  5097.             Usage:    $PS2
  5098.  
  5099.             Range:    n/a
  5100.  
  5101.             About:    This  variable controls the secondary prompt string
  5102.                       displayed by SKsh.  This is the prompt string  dis-
  5103.                       played  when  SKsh  expects more input, such as the
  5104.                       continuation  of  a  for  statement or unterminated
  5105.                       string.
  5106.  
  5107.                       If the  'p'  SKsh  option is not set (see options),
  5108.                       SKsh  expands the variables in the string, and out-
  5109.                       puts it as the  secondary prompt.  For this reason,
  5110.                       PS2  should  be  defined to a single quoted string,
  5111.                       so  that  the  variables are expanded at the proper
  5112.                       time and not when PS2 is defined.
  5113.  
  5114.                       If  the  'p'  option to SKsh is set, SKsh sends the
  5115.                       contents of  the  PS2  variable through the command
  5116.                       interpreter,  and  displays the  result as the sec-
  5117.                       ondary prompt.  In this case, PS2 should  contain a
  5118.                       string which when  executed, will print the desired
  5119.                       prompt.  This is  slower  than  the  default method
  5120.                       above.
  5121.  
  5122.             Example:  PS2=': '; PNPC=0
  5123.  
  5124.             See Also: PS1, PNPC, options
  5125.  
  5126.           _________________________________________________________________
  5127.  
  5128.  
  5129.  
  5130.  
  5131.  
  5132.  
  5133.  
  5134.  
  5135.  
  5136.  
  5137.  
  5138.  
  5139.  
  5140.  
  5141.  
  5142.  
  5143.  
  5144.  
  5145.           SKsh Amiga Shell            Page 78             Reference Manual
  5146.  
  5147.  
  5148.  
  5149.  
  5150.  
  5151.  
  5152.  
  5153.  
  5154.  
  5155.           _________________________________________________________________
  5156.  
  5157.             Name:     PWD
  5158.  
  5159.             Type:     Variable
  5160.  
  5161.             Default:  present working directory string
  5162.  
  5163.             Usage:    $PWD
  5164.  
  5165.             Range:    n/a
  5166.  
  5167.             About:    SKsh  maintains the  contents of this variable such
  5168.                       that  it  always  represents  the  current  working
  5169.                       directory.
  5170.  
  5171.             Example:  old_dir="$PWD";    # save old directory
  5172.  
  5173.             See Also: OLDPWD, pwd, cd
  5174.  
  5175.           _________________________________________________________________
  5176.  
  5177.  
  5178.  
  5179.  
  5180.  
  5181.  
  5182.  
  5183.  
  5184.  
  5185.  
  5186.  
  5187.  
  5188.  
  5189.  
  5190.  
  5191.  
  5192.  
  5193.  
  5194.  
  5195.  
  5196.  
  5197.  
  5198.  
  5199.  
  5200.  
  5201.  
  5202.  
  5203.  
  5204.  
  5205.  
  5206.  
  5207.  
  5208.  
  5209.  
  5210.  
  5211.           SKsh Amiga Shell            Page 79             Reference Manual
  5212.  
  5213.  
  5214.  
  5215.  
  5216.  
  5217.  
  5218.  
  5219.  
  5220.  
  5221.           _________________________________________________________________
  5222.  
  5223.             Name:     pwd
  5224.  
  5225.             Type:     Alias
  5226.  
  5227.             Default:  echo "$PWD"
  5228.  
  5229.             Usage:    pwd
  5230.  
  5231.             Range:    n/a
  5232.  
  5233.             About:    This  alias  simply prints the present  working di-
  5234.                       rectory string.
  5235.  
  5236.             Example:  pwd
  5237.  
  5238.             See Also: PWD, OLDPWD
  5239.  
  5240.           _________________________________________________________________
  5241.  
  5242.  
  5243.  
  5244.  
  5245.  
  5246.  
  5247.  
  5248.  
  5249.  
  5250.  
  5251.  
  5252.  
  5253.  
  5254.  
  5255.  
  5256.  
  5257.  
  5258.  
  5259.  
  5260.  
  5261.  
  5262.  
  5263.  
  5264.  
  5265.  
  5266.  
  5267.  
  5268.  
  5269.  
  5270.  
  5271.  
  5272.  
  5273.  
  5274.  
  5275.  
  5276.  
  5277.           SKsh Amiga Shell            Page 80             Reference Manual
  5278.  
  5279.  
  5280.  
  5281.  
  5282.  
  5283.  
  5284.  
  5285.  
  5286.  
  5287.           _________________________________________________________________
  5288.  
  5289.             Name:     quit
  5290.  
  5291.             Type:     Alias
  5292.  
  5293.             Default:  LOGOUT=""; exit
  5294.  
  5295.             Usage:    pwd
  5296.  
  5297.             Range:    n/a
  5298.  
  5299.             About:    quit  is  like  exit but does not execute the value
  5300.                       of the LOGOUT variable first.
  5301.  
  5302.             Example:  pwd
  5303.  
  5304.             See Also: exit, logout, LOGOUT
  5305.  
  5306.           _________________________________________________________________
  5307.  
  5308.  
  5309.  
  5310.  
  5311.  
  5312.  
  5313.  
  5314.  
  5315.  
  5316.  
  5317.  
  5318.  
  5319.  
  5320.  
  5321.  
  5322.  
  5323.  
  5324.  
  5325.  
  5326.  
  5327.  
  5328.  
  5329.  
  5330.  
  5331.  
  5332.  
  5333.  
  5334.  
  5335.  
  5336.  
  5337.  
  5338.  
  5339.  
  5340.  
  5341.  
  5342.  
  5343.           SKsh Amiga Shell            Page 81             Reference Manual
  5344.  
  5345.  
  5346.  
  5347.  
  5348.  
  5349.  
  5350.  
  5351.  
  5352.  
  5353.           _________________________________________________________________
  5354.  
  5355.             Name:     read
  5356.  
  5357.             Type:     Builtin
  5358.  
  5359.             Default:  n/a
  5360.  
  5361.             Usage:    read var
  5362.  
  5363.             Range:    n/a
  5364.  
  5365.             About:    The  read command sets the value of the variable by
  5366.                       reading  exactly  one  command  from  the  standard
  5367.                       input.  This can be used  to  accept input from the
  5368.                       keyboard, or it can  have  its  own  standard input
  5369.                       redirected to read lines from  a  file.   Read  re-
  5370.                       turns a non-zero  return code when it encounters an
  5371.                       end-of-file; this is useful in loops.
  5372.  
  5373.             Example:  while read in_line
  5374.                       do
  5375.                          echo "We read: $in_line"
  5376.                       done < my_input_file.txt
  5377.  
  5378.             See Also:
  5379.  
  5380.           _________________________________________________________________
  5381.  
  5382.  
  5383.  
  5384.  
  5385.  
  5386.  
  5387.  
  5388.  
  5389.  
  5390.  
  5391.  
  5392.  
  5393.  
  5394.  
  5395.  
  5396.  
  5397.  
  5398.  
  5399.  
  5400.  
  5401.  
  5402.  
  5403.  
  5404.  
  5405.  
  5406.  
  5407.  
  5408.  
  5409.           SKsh Amiga Shell            Page 82             Reference Manual
  5410.  
  5411.  
  5412.  
  5413.  
  5414.  
  5415.  
  5416.  
  5417.  
  5418.  
  5419.           _________________________________________________________________
  5420.  
  5421.             Name:     resident
  5422.  
  5423.             Type:     Builtin
  5424.  
  5425.             Default:  n/a
  5426.  
  5427.             Usage:    resident [ -l ]
  5428.                       resident [ -a | -d ] [ progname ... ]
  5429.  
  5430.             Range:    n/a
  5431.  
  5432.             About:    The  resident  command can be used  to  examine the
  5433.                       resident list,  add  programs to it, or delete pro-
  5434.                       grams  from  it.    "resident" with no arguments or
  5435.                       with the "-l" flag lists the  programs currently on
  5436.                       the  resident list.  The -a  flag  adds  the  named
  5437.                       programs  to  the  resident list; the whole path to
  5438.                       the file must be given,  although only the basename
  5439.                       is  remembered.   Resident -d deletes programs from
  5440.                       the resident list.
  5441.  
  5442.             Example:  resident -a /bin/view   # add view to res list
  5443.                       resident -l             # list resident list
  5444.  
  5445.             See Also: which
  5446.  
  5447.           _________________________________________________________________
  5448.  
  5449.  
  5450.  
  5451.  
  5452.  
  5453.  
  5454.  
  5455.  
  5456.  
  5457.  
  5458.  
  5459.  
  5460.  
  5461.  
  5462.  
  5463.  
  5464.  
  5465.  
  5466.  
  5467.  
  5468.  
  5469.  
  5470.  
  5471.  
  5472.  
  5473.  
  5474.  
  5475.           SKsh Amiga Shell            Page 83             Reference Manual
  5476.  
  5477.  
  5478.  
  5479.  
  5480.  
  5481.  
  5482.  
  5483.  
  5484.  
  5485.           _________________________________________________________________
  5486.  
  5487.             Name:     return
  5488.  
  5489.             Type:     Builtin
  5490.  
  5491.             Default:  n/a
  5492.  
  5493.             Usage:    return [ num ]
  5494.  
  5495.             Range:    n/a
  5496.  
  5497.             About:    The  return command exits from an enclosing script,
  5498.                       subshell, or function.  If  given  a  numeric argu-
  5499.                       ment, it  exits from the nth enclosing script, sub-
  5500.                       shell, or function.
  5501.  
  5502.             Example:  ( echo foo; return; echo 'This is not echoed' )
  5503.  
  5504.             See Also: continue, break
  5505.  
  5506.           _________________________________________________________________
  5507.  
  5508.  
  5509.  
  5510.  
  5511.  
  5512.  
  5513.  
  5514.  
  5515.  
  5516.  
  5517.  
  5518.  
  5519.  
  5520.  
  5521.  
  5522.  
  5523.  
  5524.  
  5525.  
  5526.  
  5527.  
  5528.  
  5529.  
  5530.  
  5531.  
  5532.  
  5533.  
  5534.  
  5535.  
  5536.  
  5537.  
  5538.  
  5539.  
  5540.  
  5541.           SKsh Amiga Shell            Page 84             Reference Manual
  5542.  
  5543.  
  5544.  
  5545.  
  5546.  
  5547.  
  5548.  
  5549.  
  5550.  
  5551.           _________________________________________________________________
  5552.  
  5553.             Name:     rm
  5554.  
  5555.             Type:     Builtin
  5556.  
  5557.             Default:  n/a
  5558.  
  5559.             Usage:    rm [ -rv ] [ file | dir ] ...
  5560.  
  5561.             Range:    n/a
  5562.  
  5563.             About:    This  command  simply  removes the named files.  It
  5564.                       will  not  remove  directories unless the '-r' flag
  5565.                       is  used;  use  rmdir  to  remove a  single,  empty
  5566.                       directory.
  5567.  
  5568.                       The '-r' flag  causes  'rm'  to  recursively remove
  5569.                       everything  under each directory.  This is somewhat
  5570.                       dangerous; care should be used.
  5571.  
  5572.                       The '-v' flag prints the name of each  file  as  it
  5573.                       is removed.
  5574.  
  5575.             Example:  rm scrap_file.c
  5576.  
  5577.             See Also: rmdir
  5578.  
  5579.           _________________________________________________________________
  5580.  
  5581.  
  5582.  
  5583.  
  5584.  
  5585.  
  5586.  
  5587.  
  5588.  
  5589.  
  5590.  
  5591.  
  5592.  
  5593.  
  5594.  
  5595.  
  5596.  
  5597.  
  5598.  
  5599.  
  5600.  
  5601.  
  5602.  
  5603.  
  5604.  
  5605.  
  5606.  
  5607.           SKsh Amiga Shell            Page 85             Reference Manual
  5608.  
  5609.  
  5610.  
  5611.  
  5612.  
  5613.  
  5614.  
  5615.  
  5616.  
  5617.           _________________________________________________________________
  5618.  
  5619.             Name:     rmdir
  5620.  
  5621.             Type:     Builtin
  5622.  
  5623.             Default:  n/a
  5624.  
  5625.             Usage:    rmdir [ dir ... ]
  5626.  
  5627.             Range:    n/a
  5628.  
  5629.             About:    This  command simply removes the named directories.
  5630.                       It will  not  remove files or directories which are
  5631.                       not empty.
  5632.  
  5633.             Example:  rmdir scrap_dir
  5634.  
  5635.             See Also: rmdir
  5636.  
  5637.           _________________________________________________________________
  5638.  
  5639.  
  5640.  
  5641.  
  5642.  
  5643.  
  5644.  
  5645.  
  5646.  
  5647.  
  5648.  
  5649.  
  5650.  
  5651.  
  5652.  
  5653.  
  5654.  
  5655.  
  5656.  
  5657.  
  5658.  
  5659.  
  5660.  
  5661.  
  5662.  
  5663.  
  5664.  
  5665.  
  5666.  
  5667.  
  5668.  
  5669.  
  5670.  
  5671.  
  5672.  
  5673.           SKsh Amiga Shell            Page 86             Reference Manual
  5674.  
  5675.  
  5676.  
  5677.  
  5678.  
  5679.  
  5680.  
  5681.  
  5682.  
  5683.           _________________________________________________________________
  5684.  
  5685.             Name:     ROOT
  5686.  
  5687.             Type:     Variable
  5688.  
  5689.             Default:  ":"
  5690.  
  5691.             Usage:    path names beginning with '/'
  5692.  
  5693.             Range:    Any legal directory or filesystem device name
  5694.  
  5695.             About:    When  Un*x  filename  mapping is used (see the  op-
  5696.                       tions  command), SKsh replaces a leading slash with
  5697.                       the  contents of this variable.  It  is  normally a
  5698.                       colon, which makes the  path  name  become relative
  5699.                       to the "root" of  the  current device.  However, it
  5700.                       can be set  to  any  directory or filesystem device
  5701.                       name.   For   example, if set to "sys:",  all  file
  5702.                       references  beginning  with  a  slash  will  become
  5703.                       relative to 'sys:',  even  if  the  current working
  5704.                       directory  is  on  another device.  If can also  be
  5705.                       set to a subdirectory  of  a  device, as in the ex-
  5706.                       ample  below, in which case  it  must  end  with  a
  5707.                       slash.
  5708.  
  5709.             Example:  ROOT=sys:usr/work/    # make this the new "root"
  5710.  
  5711.             See Also: options
  5712.  
  5713.           _________________________________________________________________
  5714.  
  5715.  
  5716.  
  5717.  
  5718.  
  5719.  
  5720.  
  5721.  
  5722.  
  5723.  
  5724.  
  5725.  
  5726.  
  5727.  
  5728.  
  5729.  
  5730.  
  5731.  
  5732.  
  5733.  
  5734.  
  5735.  
  5736.  
  5737.  
  5738.  
  5739.           SKsh Amiga Shell            Page 87             Reference Manual
  5740.  
  5741.  
  5742.  
  5743.  
  5744.  
  5745.  
  5746.  
  5747.  
  5748.  
  5749.           _________________________________________________________________
  5750.  
  5751.             Name:     set
  5752.  
  5753.             Type:     Builtin
  5754.  
  5755.             Default:  n/a
  5756.  
  5757.             Usage:    set [ -fabvs ] [ pattern ... ]
  5758.  
  5759.             Range:    n/a
  5760.  
  5761.             About:    With  no  options,  set lists each variable and its
  5762.                       definition.   If   pattern  arguments, each one  is
  5763.                       listed.  The  'f'  options forces interpretation as
  5764.                       function names, the 'a'  option as alias names, the
  5765.                       'b'  option  as  builtin command names, and the 'v'
  5766.                       option as variables names (the default).
  5767.  
  5768.                       The 's'  option leaves out the definition, printing
  5769.                       only the name on  a  single  line.   In  any  case,
  5770.                       function  definitions are not listed in  this  ver-
  5771.                       sion of SKsh.  If the  's'  option is used, the 'v'
  5772.                       option  must  explicitly be set to list  variables.
  5773.                       Also, more than one of 'f', 'a', 'b', and  'v'  may
  5774.                       be set.
  5775.  
  5776.                       SKsh will not  list  any  function, alias, builtin,
  5777.                       or  variable whose  name  begins with an underscore
  5778.                       (hidden  variables, etc).  This is useful to either
  5779.                       hide  definitions  from  users, or in  cases  where
  5780.                       printing  the  contents of a variable would corrupt
  5781.                       the display (such as the _ANSI_CLEAR variable).
  5782.  
  5783.                       The  definition of builtin commands is printed as a
  5784.                       short description of the command.
  5785.  
  5786.                       The  set  command  cannot be used to set variables,
  5787.                       as  in  csh.  Use the assignment operator ('=') for
  5788.                       that.
  5789.  
  5790.             Example:  set -b '[a-d]*'
  5791.  
  5792.             See Also: unset
  5793.  
  5794.           _________________________________________________________________
  5795.  
  5796.  
  5797.  
  5798.  
  5799.  
  5800.  
  5801.  
  5802.  
  5803.  
  5804.  
  5805.           SKsh Amiga Shell            Page 88             Reference Manual
  5806.  
  5807.  
  5808.  
  5809.  
  5810.  
  5811.  
  5812.  
  5813.  
  5814.  
  5815.           _________________________________________________________________
  5816.  
  5817.             Name:     setmap
  5818.  
  5819.             Type:     Builtin
  5820.  
  5821.             Default:  n/a
  5822.  
  5823.             Usage:    setmap -r
  5824.                       setmap -s map [{key|code} {fn|"@map"|"!macro"}]...
  5825.                       setmap -n mapnum ...
  5826.                       setmap -e exitmap mapnum ...
  5827.                       setmap -m macronum [ fn | string ] ...
  5828.  
  5829.             Range:    32 definable key maps ( 0 to 31)
  5830.                       256 entries per key map
  5831.                       32 definable key macros ( 0 to 31 )
  5832.                       64 byte maximum key macro size
  5833.  
  5834.             About:    The  setmap command is used to define SKsh keyboard
  5835.                       editing maps.   SKsh  is  capable of emulating most
  5836.                       popular  editor styles to a reasonable degree.  The
  5837.                       UserMan.doc  file  discusses the theory of SKsh key
  5838.                       maps in greater  detail; this is just intended as a
  5839.                       reference guide.  Pleas read that section as well.
  5840.  
  5841.                       "setmap  -r"  resets all keymaps and key  macros to
  5842.                       their default (dumb) state.
  5843.  
  5844.                       "setmap" alone or with an  optional -s flag is used
  5845.                       to set keymaps.  The first  argument is integer be-
  5846.                       tween  0  and  31  indicating the keymap to change.
  5847.                       All  subsequent arguments are grouped in pairs; the
  5848.                       first of the pair is  a  character (such as "A") or
  5849.                       an ascii code  (such  as  08).   The  second of the
  5850.                       pair is one of:
  5851.  
  5852.                          1) a  function name (such as  "DEL").   In  this
  5853.                             case  the  function will be executed when the
  5854.                             key is pressed.
  5855.  
  5856.                          2) another  keymap  number  prefixed by '@'.  In
  5857.                             this  case  the  new  keymap will  become the
  5858.                             current keymap when the key is pressed.
  5859.  
  5860.                          3) a  macro  number  prefixed by '!'.   In  this
  5861.                             case the macro will be  executed when the key
  5862.                             is pressed.
  5863.  
  5864.                       "setmap -n" sets  the  keymaps  to  be  non-exiting
  5865.                       keymaps.  In other  words,  after a function is ex-
  5866.                       ecuted  in  the  current keymap it remains the cur-
  5867.                       rent keymap.
  5868.  
  5869.  
  5870.  
  5871.           SKsh Amiga Shell            Page 89             Reference Manual
  5872.  
  5873.  
  5874.  
  5875.  
  5876.  
  5877.  
  5878.  
  5879.  
  5880.  
  5881.                       "setmap  -e"  sets  the  keymaps  to  be  "exiting"
  5882.                       keymaps which  exit  to  keymap "exitmap" after one
  5883.                       function.
  5884.  
  5885.                       "setmap -m"  defines a numbered macro (macronum) to
  5886.                       be a series of functions or strings.
  5887.  
  5888.  
  5889.             Notes:    The following are legal keymap functions when  used
  5890.                       with "setmap -s" or "setmap -m"
  5891.  
  5892.                          INS    - insert typed character
  5893.                          NOP    -  perform no operation
  5894.                          ACC    - "accept" and execute line
  5895.                          REP    - set repeat count
  5896.                          FNK    - execute function key
  5897.                          BS     - backspace
  5898.                          BOL    - move to beginning of line
  5899.                          ZAP    - delete all of current line
  5900.                          DEL    - delete one character forward
  5901.                          EOL    - move to end of line
  5902.                          RHT    - move cursor right one character
  5903.                          LFT    - move cursor left one character
  5904.                          KEL    - kill to end of the line
  5905.                          UP     - move to previous history line
  5906.                          DN     - move to next history line
  5907.                          EXE    - "execute" line and move to next
  5908.                          FWW    - move forward one word
  5909.                          BKW    - move backward one word
  5910.                          BDW    - backward delete word (before cursor)
  5911.                          DLW    - delete word (in front of cursor)
  5912.                          SRH    - search for text in history list
  5913.                          CC1    - command completion type 1 (esc esc)
  5914.                          CC2    - command completion type 2 (esc =)
  5915.                          CC3    - command completion type 3 (esc *)
  5916.                          HOL    - head of list (first history line)
  5917.                          TOL    - tail of list (last history line)
  5918.                          ILP    - insert last parameter of previous line
  5919.                          ILT    - insert tail of previous line
  5920.                          TIM    - toggle insert mode
  5921.                          RDL    - redraw current line
  5922.                          SPC    - switch two previous characters
  5923.                          GK0    - goto keymap 0 (for use in macros)
  5924.                          GK1    - goto keymap 1 (for use in macros)
  5925.                          GK2    - goto keymap 2 (for use in macros)
  5926.                          GK3    - goto keymap 3 (for use in macros)
  5927.                          GK4    - goto keymap 4 (for use in macros)
  5928.  
  5929.             Example:  # reset all keymaps
  5930.                       setmap -r
  5931.  
  5932.                       # set keymaps 1 and 3 to be non-exiting
  5933.                       setmap -n 1 3
  5934.  
  5935.  
  5936.  
  5937.           SKsh Amiga Shell            Page 90             Reference Manual
  5938.  
  5939.  
  5940.  
  5941.  
  5942.  
  5943.  
  5944.  
  5945.  
  5946.  
  5947.                       # set keymaps 2 and 4 to exit to keymap number 1
  5948.                       setmap -e 1  2 4
  5949.  
  5950.                       # set macro number 0 to move to the beginning of
  5951.                       # the line, insert a '#', and accept the line
  5952.                       setmap -m 0  BOL '#' ACC
  5953.  
  5954.                       # set the "esc" key to move to keymap 1, the "del"
  5955.                       # key to delete a character, and the "~" key to
  5956.                       # execute macro number 5
  5957.                       setmap -s 0   27 @1  04 DEL  '~' '!5'
  5958.  
  5959.             See Also: UserMan.doc:
  5960.                       Advanced Topics: Definable Keyboard Editing
  5961.  
  5962.           _________________________________________________________________
  5963.  
  5964.  
  5965.  
  5966.  
  5967.  
  5968.  
  5969.  
  5970.  
  5971.  
  5972.  
  5973.  
  5974.  
  5975.  
  5976.  
  5977.  
  5978.  
  5979.  
  5980.  
  5981.  
  5982.  
  5983.  
  5984.  
  5985.  
  5986.  
  5987.  
  5988.  
  5989.  
  5990.  
  5991.  
  5992.  
  5993.  
  5994.  
  5995.  
  5996.  
  5997.  
  5998.  
  5999.  
  6000.  
  6001.  
  6002.  
  6003.           SKsh Amiga Shell            Page 91             Reference Manual
  6004.  
  6005.  
  6006.  
  6007.  
  6008.  
  6009.  
  6010.  
  6011.  
  6012.  
  6013.           _________________________________________________________________
  6014.  
  6015.             Name:     SHELL
  6016.  
  6017.             Type:     Variable
  6018.  
  6019.             Default:  sksh
  6020.  
  6021.             Usage:    $SHELL
  6022.  
  6023.             Range:    n/a
  6024.  
  6025.             About:    This  variable is set by SKsh to the string "sksh".
  6026.                       It can be used to  test  which  shell  is  running,
  6027.                       provided  that  the  alternate shell has a  similar
  6028.                       syntax.
  6029.  
  6030.             Example:  if [ "$SHELL" != 'sksh' ]
  6031.                       then
  6032.                           echo "This runs only under SKsh!"
  6033.                       fi
  6034.  
  6035.             See Also: SYSNAME
  6036.  
  6037.           _________________________________________________________________
  6038.  
  6039.  
  6040.  
  6041.  
  6042.  
  6043.  
  6044.  
  6045.  
  6046.  
  6047.  
  6048.  
  6049.  
  6050.  
  6051.  
  6052.  
  6053.  
  6054.  
  6055.  
  6056.  
  6057.  
  6058.  
  6059.  
  6060.  
  6061.  
  6062.  
  6063.  
  6064.  
  6065.  
  6066.  
  6067.  
  6068.  
  6069.           SKsh Amiga Shell            Page 92             Reference Manual
  6070.  
  6071.  
  6072.  
  6073.  
  6074.  
  6075.  
  6076.  
  6077.  
  6078.  
  6079.           _________________________________________________________________
  6080.  
  6081.             Name:     shift
  6082.  
  6083.             Type:     Builtin
  6084.  
  6085.             Default:  n/a
  6086.  
  6087.             Usage:    shift [ num ]
  6088.  
  6089.             Range:    n/a
  6090.  
  6091.             About:    This  command  is  used  inside of scripts or func-
  6092.                       tions to shift  the  parametric arguments.  For ex-
  6093.                       ample, if $1  =  'foo'  and  $2  =  'bar',  after a
  6094.                       shift, $1 would be 'bar' and $2 would not  be  set.
  6095.                       The  '$#'  and  '$*'  variables are  also  modified
  6096.                       appropriately.  If shift is given a  numeric param-
  6097.                       eter, it  acts  as  though  num  consecutive shifts
  6098.                       took place.
  6099.  
  6100.             Example:  function my_func {
  6101.                          echo "$2, $#"
  6102.                          shift
  6103.                          echo "$2, $#"
  6104.                       }
  6105.  
  6106.             See Also: function
  6107.  
  6108.           _________________________________________________________________
  6109.  
  6110.  
  6111.  
  6112.  
  6113.  
  6114.  
  6115.  
  6116.  
  6117.  
  6118.  
  6119.  
  6120.  
  6121.  
  6122.  
  6123.  
  6124.  
  6125.  
  6126.  
  6127.  
  6128.  
  6129.  
  6130.  
  6131.  
  6132.  
  6133.  
  6134.  
  6135.           SKsh Amiga Shell            Page 93             Reference Manual
  6136.  
  6137.  
  6138.  
  6139.  
  6140.  
  6141.  
  6142.  
  6143.  
  6144.  
  6145.           _________________________________________________________________
  6146.  
  6147.             Name:     SIZE
  6148.  
  6149.             Type:     Variable
  6150.  
  6151.             Default:  "normal" for plain SKsh
  6152.                       "tiny" for tiny_SKsh
  6153.  
  6154.             Usage:    $SIZE
  6155.  
  6156.             Range:    n/a
  6157.  
  6158.             About:    This  variable can be used to test the shell under which a
  6159.                       script or function is being run.
  6160.  
  6161.             Example:  if [ "$SIZE" = 'normal' ]
  6162.                       then
  6163.                          echo 'This is normal SKsh'
  6164.                       else
  6165.                          echo 'This is tiny_SKsh'
  6166.                       fi
  6167.  
  6168.             See Also:
  6169.  
  6170.           _________________________________________________________________
  6171.  
  6172.  
  6173.  
  6174.  
  6175.  
  6176.  
  6177.  
  6178.  
  6179.  
  6180.  
  6181.  
  6182.  
  6183.  
  6184.  
  6185.  
  6186.  
  6187.  
  6188.  
  6189.  
  6190.  
  6191.  
  6192.  
  6193.  
  6194.  
  6195.  
  6196.  
  6197.  
  6198.  
  6199.  
  6200.  
  6201.           SKsh Amiga Shell            Page 94             Reference Manual
  6202.  
  6203.  
  6204.  
  6205.  
  6206.  
  6207.  
  6208.  
  6209.  
  6210.  
  6211.           _________________________________________________________________
  6212.  
  6213.             Name:     sleep
  6214.  
  6215.             Type:     Builtin
  6216.  
  6217.             Default:  n/a
  6218.  
  6219.             Usage:    sleep n
  6220.  
  6221.             Range:    n/a
  6222.  
  6223.             About:    Sleep  delays  execution  for  n seconds.  If  n is
  6224.                       omitted,  zero,  or  negative, the command does not
  6225.                       pause.   Sleep  takes   virtually no CPU time.   It
  6226.                       will  wake  up  once  per  second to check for  the
  6227.                       break key.  Sleep is  not  guaranteed to be a delay
  6228.                       of  exactly  n  seconds; it may be more on a loaded
  6229.                       system, or if SKsh is  preempted by a higher prior-
  6230.                       ity process.   It  is,  however, guaranteed to be a
  6231.                       delay of at least n seconds.
  6232.  
  6233.             Example:  time sleep 5
  6234.  
  6235.             See Also: time
  6236.  
  6237.           _________________________________________________________________
  6238.  
  6239.  
  6240.  
  6241.  
  6242.  
  6243.  
  6244.  
  6245.  
  6246.  
  6247.  
  6248.  
  6249.  
  6250.  
  6251.  
  6252.  
  6253.  
  6254.  
  6255.  
  6256.  
  6257.  
  6258.  
  6259.  
  6260.  
  6261.  
  6262.  
  6263.  
  6264.  
  6265.  
  6266.  
  6267.           SKsh Amiga Shell            Page 95             Reference Manual
  6268.  
  6269.  
  6270.  
  6271.  
  6272.  
  6273.  
  6274.  
  6275.  
  6276.  
  6277.           _________________________________________________________________
  6278.  
  6279.             Name:     source
  6280.  
  6281.             Type:     Builtin
  6282.  
  6283.             Default:  n/a
  6284.  
  6285.             Usage:    source [ file ... ]
  6286.  
  6287.             Range:    n/a
  6288.  
  6289.             About:    This  command  "sources" the named files; that  is,
  6290.                       they  are  executed, but not in a subshell, so that
  6291.                       any  variables, alias, etc,  that  they  define are
  6292.                       really defined in the parent's environment.
  6293.  
  6294.                       A single dot ('.') may be used to source a file  as
  6295.                       well; this is compatible with ksh and sh.
  6296.  
  6297.                       A file which is sourced does not have to  have  its
  6298.                       script bit set  (although it won't hurt).  However,
  6299.                       a script file which  is  to  be  executed by typing
  6300.                       its name must have its script bit set.
  6301.  
  6302.                       Executing a file is equivalent to:
  6303.  
  6304.                          ( source file )
  6305.  
  6306.             Example:  source my_init_file.sksh
  6307.  
  6308.             See Also:
  6309.  
  6310.           _________________________________________________________________
  6311.  
  6312.  
  6313.  
  6314.  
  6315.  
  6316.  
  6317.  
  6318.  
  6319.  
  6320.  
  6321.  
  6322.  
  6323.  
  6324.  
  6325.  
  6326.  
  6327.  
  6328.  
  6329.  
  6330.  
  6331.  
  6332.  
  6333.           SKsh Amiga Shell            Page 96             Reference Manual
  6334.  
  6335.  
  6336.  
  6337.  
  6338.  
  6339.  
  6340.  
  6341.  
  6342.  
  6343.           _________________________________________________________________
  6344.  
  6345.             Name:     stack
  6346.  
  6347.             Type:     Function
  6348.  
  6349.             Default:  n/a
  6350.  
  6351.             Usage:    obsolete
  6352.  
  6353.             Range:    n/a
  6354.  
  6355.             About:    This  function  was  obsoleted in SKsh 1.5.   See  the
  6356.                       Addendum1.5.doc file for an explanation.
  6357.  
  6358.             Example:
  6359.  
  6360.             See Also: Addendum1.5.doc
  6361.  
  6362.           _________________________________________________________________
  6363.  
  6364.  
  6365.  
  6366.  
  6367.  
  6368.  
  6369.  
  6370.  
  6371.  
  6372.  
  6373.  
  6374.  
  6375.  
  6376.  
  6377.  
  6378.  
  6379.  
  6380.  
  6381.  
  6382.  
  6383.  
  6384.  
  6385.  
  6386.  
  6387.  
  6388.  
  6389.  
  6390.  
  6391.  
  6392.  
  6393.  
  6394.  
  6395.  
  6396.  
  6397.  
  6398.  
  6399.           SKsh Amiga Shell            Page 97             Reference Manual
  6400.  
  6401.  
  6402.  
  6403.  
  6404.  
  6405.  
  6406.  
  6407.  
  6408.  
  6409.           _________________________________________________________________
  6410.  
  6411.             Name:     SYSNAME
  6412.  
  6413.             Type:     Variable
  6414.  
  6415.             Default:  'Amiga'
  6416.  
  6417.             Usage:    $SYSNAME
  6418.  
  6419.             Range:    n/a
  6420.  
  6421.             About:    This  variable  describes the  system on which SKsh
  6422.                       is  currently  being run.  There is  currently only
  6423.                       one  version of SKsh, so this variable will contain
  6424.                       "Amiga".  If SKsh is ported to other  systems, this
  6425.                       variable can be used  to  determine the name of the
  6426.                       system.
  6427.  
  6428.             Example:  if [ "$SYSNAME" != 'Amiga' ]
  6429.                       then
  6430.                          echo "This script runs only on Amigas."
  6431.                       fi
  6432.  
  6433.             See Also: SHELL
  6434.  
  6435.           _________________________________________________________________
  6436.  
  6437.  
  6438.  
  6439.  
  6440.  
  6441.  
  6442.  
  6443.  
  6444.  
  6445.  
  6446.  
  6447.  
  6448.  
  6449.  
  6450.  
  6451.  
  6452.  
  6453.  
  6454.  
  6455.  
  6456.  
  6457.  
  6458.  
  6459.  
  6460.  
  6461.  
  6462.  
  6463.  
  6464.  
  6465.           SKsh Amiga Shell            Page 98             Reference Manual
  6466.  
  6467.  
  6468.  
  6469.  
  6470.  
  6471.  
  6472.  
  6473.  
  6474.  
  6475.           _________________________________________________________________
  6476.  
  6477.             Name:     time
  6478.  
  6479.             Type:     Keyword
  6480.  
  6481.             Default:  n/a
  6482.  
  6483.             Usage:    time statement
  6484.  
  6485.             Range:    n/a
  6486.  
  6487.             About:    time  executes the  statement and prints the execu-
  6488.                       tion time in seconds.
  6489.  
  6490.             Example:  time ( dir; sleep 2 )
  6491.  
  6492.             See Also:
  6493.  
  6494.           _________________________________________________________________
  6495.  
  6496.  
  6497.  
  6498.  
  6499.  
  6500.  
  6501.  
  6502.  
  6503.  
  6504.  
  6505.  
  6506.  
  6507.  
  6508.  
  6509.  
  6510.  
  6511.  
  6512.  
  6513.  
  6514.  
  6515.  
  6516.  
  6517.  
  6518.  
  6519.  
  6520.  
  6521.  
  6522.  
  6523.  
  6524.  
  6525.  
  6526.  
  6527.  
  6528.  
  6529.  
  6530.  
  6531.           SKsh Amiga Shell            Page 99             Reference Manual
  6532.  
  6533.  
  6534.  
  6535.  
  6536.  
  6537.  
  6538.  
  6539.  
  6540.  
  6541.           _________________________________________________________________
  6542.  
  6543.             Name:     touch
  6544.  
  6545.             Type:     Builtin
  6546.  
  6547.             Default:  n/a
  6548.  
  6549.             Usage:    touch [ file ... ]
  6550.  
  6551.             Range:    n/a
  6552.  
  6553.             About:    touch  create the named files if they do not exist,
  6554.                       and  in  any  case  updates the  file  modification
  6555.                       timestamp.   It  also   resets the AmigaDos archive
  6556.                       bit.
  6557.  
  6558.             Example:  touch aaa bbb ccc
  6559.  
  6560.             See Also:
  6561.  
  6562.           _________________________________________________________________
  6563.  
  6564.  
  6565.  
  6566.  
  6567.  
  6568.  
  6569.  
  6570.  
  6571.  
  6572.  
  6573.  
  6574.  
  6575.  
  6576.  
  6577.  
  6578.  
  6579.  
  6580.  
  6581.  
  6582.  
  6583.  
  6584.  
  6585.  
  6586.  
  6587.  
  6588.  
  6589.  
  6590.  
  6591.  
  6592.  
  6593.  
  6594.  
  6595.  
  6596.  
  6597.           SKsh Amiga Shell            Page 100            Reference Manual
  6598.  
  6599.  
  6600.  
  6601.  
  6602.  
  6603.  
  6604.  
  6605.  
  6606.  
  6607.           _________________________________________________________________
  6608.  
  6609.             Name:     true
  6610.  
  6611.             Type:     Builtin
  6612.  
  6613.             Default:  n/a
  6614.  
  6615.             Usage:    true
  6616.  
  6617.             Range:    n/a
  6618.  
  6619.             About:    true  simply  returns a true exit  code,  and  does
  6620.                       nothing else.
  6621.  
  6622.             Example:  while true
  6623.                       do
  6624.                          echo 'repeat forever!'
  6625.                          sleep 1
  6626.                       done
  6627.  
  6628.             See Also: false
  6629.  
  6630.           _________________________________________________________________
  6631.  
  6632.  
  6633.  
  6634.  
  6635.  
  6636.  
  6637.  
  6638.  
  6639.  
  6640.  
  6641.  
  6642.  
  6643.  
  6644.  
  6645.  
  6646.  
  6647.  
  6648.  
  6649.  
  6650.  
  6651.  
  6652.  
  6653.  
  6654.  
  6655.  
  6656.  
  6657.  
  6658.  
  6659.  
  6660.  
  6661.  
  6662.  
  6663.           SKsh Amiga Shell            Page 101            Reference Manual
  6664.  
  6665.  
  6666.  
  6667.  
  6668.  
  6669.  
  6670.  
  6671.  
  6672.  
  6673.           _________________________________________________________________
  6674.  
  6675.             Name:     unalias
  6676.  
  6677.             Type:     Alias
  6678.  
  6679.             Default:  unset -a
  6680.  
  6681.             Usage:    unalias [ name ... ]
  6682.  
  6683.             Range:    n/a
  6684.  
  6685.             About:    This  alias  removes existing aliases from the cur-
  6686.                       rent context.  If no names are given,  the  command
  6687.                       has  no  effect.    Otherwise, each alias listed is
  6688.                       removed, if it was in fact an alias.
  6689.  
  6690.                       SKsh  supplied aliases may be  removed, but this is
  6691.                       not recommended.
  6692.  
  6693.             Example:  unalias my_alias my_other_alias
  6694.  
  6695.             See Also: unset
  6696.  
  6697.           _________________________________________________________________
  6698.  
  6699.  
  6700.  
  6701.  
  6702.  
  6703.  
  6704.  
  6705.  
  6706.  
  6707.  
  6708.  
  6709.  
  6710.  
  6711.  
  6712.  
  6713.  
  6714.  
  6715.  
  6716.  
  6717.  
  6718.  
  6719.  
  6720.  
  6721.  
  6722.  
  6723.  
  6724.  
  6725.  
  6726.  
  6727.  
  6728.  
  6729.           SKsh Amiga Shell            Page 102            Reference Manual
  6730.  
  6731.  
  6732.  
  6733.  
  6734.  
  6735.  
  6736.  
  6737.  
  6738.  
  6739.           _________________________________________________________________
  6740.  
  6741.             Name:     unfunc
  6742.  
  6743.             Type:     Alias
  6744.  
  6745.             Default:  unset -f
  6746.  
  6747.             Usage:    unfunc [ name ... ]
  6748.  
  6749.             Range:    n/a
  6750.  
  6751.             About:    This  alias  removes  existing  functions from  the
  6752.                       current context.  If no names are given,  the  com-
  6753.                       mand  has  no  effect.    Otherwise, each  function
  6754.                       listed is removed, if it was in fact an function.
  6755.  
  6756.                       SKsh  supplied  functions may be  removed, but this
  6757.                       is not recommended.
  6758.  
  6759.             Example:  unfunc my_function my_other_function
  6760.  
  6761.             See Also: unset
  6762.  
  6763.           _________________________________________________________________
  6764.  
  6765.  
  6766.  
  6767.  
  6768.  
  6769.  
  6770.  
  6771.  
  6772.  
  6773.  
  6774.  
  6775.  
  6776.  
  6777.  
  6778.  
  6779.  
  6780.  
  6781.  
  6782.  
  6783.  
  6784.  
  6785.  
  6786.  
  6787.  
  6788.  
  6789.  
  6790.  
  6791.  
  6792.  
  6793.  
  6794.  
  6795.           SKsh Amiga Shell            Page 103            Reference Manual
  6796.  
  6797.  
  6798.  
  6799.  
  6800.  
  6801.  
  6802.  
  6803.  
  6804.  
  6805.           _________________________________________________________________
  6806.  
  6807.             Name:     unset
  6808.  
  6809.             Type:     Builtin
  6810.  
  6811.             Default:  n/a
  6812.  
  6813.             Usage:    unset [ -favb ] [ name ... ] 
  6814.  
  6815.             Range:    n/a
  6816.  
  6817.             About:    This  command  removes the definition of functions,
  6818.                       aliases,  variables, or builtins (controlled by the
  6819.                       f, a, v, or b flags).  If no  flag  is  given,  the
  6820.                       default is to remove variable definitions.
  6821.  
  6822.                       Unsetting  a  builtin (with the -b option) does not
  6823.                       cause  actual code  to  be  removed from memory; it
  6824.                       simply  removes  all  internal  references to  that
  6825.                       command, such that  it  appears to no longer exist.
  6826.                       This  can  cause  problems if not  used  carefully;
  6827.                       only  attempt this if you are sure  you  know  what
  6828.                       effects this will  have.   For  example, if you re-
  6829.                       move  the  'exit'  builtin, you will not be able to
  6830.                       quit SKsh.
  6831.  
  6832.             Example:  unset -f my_func1 my_func2
  6833.  
  6834.             See Also: unfunc, unalias
  6835.  
  6836.           _________________________________________________________________
  6837.  
  6838.  
  6839.  
  6840.  
  6841.  
  6842.  
  6843.  
  6844.  
  6845.  
  6846.  
  6847.  
  6848.  
  6849.  
  6850.  
  6851.  
  6852.  
  6853.  
  6854.  
  6855.  
  6856.  
  6857.  
  6858.  
  6859.  
  6860.  
  6861.           SKsh Amiga Shell            Page 104            Reference Manual
  6862.  
  6863.  
  6864.  
  6865.  
  6866.  
  6867.  
  6868.  
  6869.  
  6870.  
  6871.           _________________________________________________________________
  6872.  
  6873.             Name:     variables
  6874.  
  6875.             Type:     Alias
  6876.  
  6877.             Default:  set -v
  6878.  
  6879.             Usage:    variables [ -s ] [ pattern ... ]
  6880.  
  6881.             Range:    n/a
  6882.  
  6883.             About:    This  alias  lists  defined variables.  The pattern
  6884.                       uses  normal wildcards, but must be quoted to avoid
  6885.                       being   interpreted  by  the   filename   expansion
  6886.                       mechanism.   If  the  pattern is omitted, all vari-
  6887.                       ables  are  listed  except those  beginning with an
  6888.                       underscore  character  (hidden variables).  For ex-
  6889.                       ample,  _ANSI_P1  is  a  hidden variable; if it was
  6890.                       printed  in  the  normal variable list, the display
  6891.                       pen would be changed.
  6892.  
  6893.                       Only  variables for the current context are listed,
  6894.                       so this  command may have a different effect inside
  6895.                       of   a   subshell  or   function  than  when  typed
  6896.                       manually.
  6897.  
  6898.             Example:  variables -s '[A-H]*'
  6899.  
  6900.             See Also: set
  6901.  
  6902.           _________________________________________________________________
  6903.  
  6904.  
  6905.  
  6906.  
  6907.  
  6908.  
  6909.  
  6910.  
  6911.  
  6912.  
  6913.  
  6914.  
  6915.  
  6916.  
  6917.  
  6918.  
  6919.  
  6920.  
  6921.  
  6922.  
  6923.  
  6924.  
  6925.  
  6926.  
  6927.           SKsh Amiga Shell            Page 105            Reference Manual
  6928.  
  6929.  
  6930.  
  6931.  
  6932.  
  6933.  
  6934.  
  6935.  
  6936.  
  6937.           _________________________________________________________________
  6938.  
  6939.             Name:     version
  6940.  
  6941.             Type:     Builtin
  6942.  
  6943.             Default:  n/a
  6944.  
  6945.             Usage:    version [ -ds ]
  6946.  
  6947.             Range:    n/a
  6948.  
  6949.             About:    version  with  no  options prints the SKsh  version
  6950.                       string  and  copyright notice.  The 'd' option ech-
  6951.                       oes  the  compile date of SKsh, and the 's'  option
  6952.                       prints  a   single   numeric  value  that  will  be
  6953.                       incremented  for  each  release of SKsh.   This  is
  6954.                       useful in tests, as below.
  6955.  
  6956.             Example:  if [ $(version -s) -lt 3 ]
  6957.                       then
  6958.                          echo  'This  script  requires   a   later   SKsh
  6959.                       version'
  6960.                       fi
  6961.  
  6962.             See Also:
  6963.  
  6964.           _________________________________________________________________
  6965.  
  6966.  
  6967.  
  6968.  
  6969.  
  6970.  
  6971.  
  6972.  
  6973.  
  6974.  
  6975.  
  6976.  
  6977.  
  6978.  
  6979.  
  6980.  
  6981.  
  6982.  
  6983.  
  6984.  
  6985.  
  6986.  
  6987.  
  6988.  
  6989.  
  6990.  
  6991.  
  6992.  
  6993.           SKsh Amiga Shell            Page 106            Reference Manual
  6994.  
  6995.  
  6996.  
  6997.  
  6998.  
  6999.  
  7000.  
  7001.  
  7002.  
  7003.           _________________________________________________________________
  7004.  
  7005.             Name:     whence
  7006.  
  7007.             Type:     Builtin
  7008.  
  7009.             Default:  n/a
  7010.  
  7011.             Usage:    whence [ name ... ]
  7012.  
  7013.             Range:    n/a
  7014.  
  7015.             About:    whence  reports how each name would be  interpreted
  7016.                       if it was  used  as  a  command.   It  will  report
  7017.                       whether the name will  be  interpreted as a builtin
  7018.                       command,  an  alias,  a  function, or  an  external
  7019.                       statement.   If  the   command is interpreted as an
  7020.                       external  statement,  a  path  to  the  command  is
  7021.                       printed.
  7022.  
  7023.             Example:  whence whence if path ll
  7024.  
  7025.             See Also: which
  7026.  
  7027.           _________________________________________________________________
  7028.  
  7029.  
  7030.  
  7031.  
  7032.  
  7033.  
  7034.  
  7035.  
  7036.  
  7037.  
  7038.  
  7039.  
  7040.  
  7041.  
  7042.  
  7043.  
  7044.  
  7045.  
  7046.  
  7047.  
  7048.  
  7049.  
  7050.  
  7051.  
  7052.  
  7053.  
  7054.  
  7055.  
  7056.  
  7057.  
  7058.  
  7059.           SKsh Amiga Shell            Page 107            Reference Manual
  7060.  
  7061.  
  7062.  
  7063.  
  7064.  
  7065.  
  7066.  
  7067.  
  7068.  
  7069.           _________________________________________________________________
  7070.  
  7071.             Name:     which
  7072.  
  7073.             Type:     Builtin
  7074.  
  7075.             Default:  n/a
  7076.  
  7077.             Usage:    which [ -s ] [ name ... ]
  7078.  
  7079.             Range:    n/a
  7080.  
  7081.             About:    which  searches  the  current PATH  variable for an
  7082.                       occurrence of name.  If it finds one, the  path  to
  7083.                       name is  printed.   Multiple names are accepted, in
  7084.                       which case the process is repeated for each one.
  7085.  
  7086.                       If  the  '-s'  option is set, which will  terminate
  7087.                       silently if the name is not  found  in  the  search
  7088.                       path.    Normally  it  prints  a  message  to  that
  7089.                       effect.
  7090.  
  7091.                       Although  which does  not  know  about  aliases  or
  7092.                       functions  as  whence does, it is often more useful
  7093.                       in scripts or from the  command line.  For example,
  7094.                       if you know that "my_file" is in the  search  path,
  7095.                       you can say:
  7096.  
  7097.                          ll $(which -s my_file)
  7098.  
  7099.                       to  print  information on  my_file  without knowing
  7100.                       where  it  is.   The  example below is another pos-
  7101.                       sible use.  In the  function, which is used both to
  7102.                       avoid  interpreting  "run"  recursively as a  func-
  7103.                       tion, and  to  find  the  desired binary.  A better
  7104.                       form  of  the  'run'  function is included with the
  7105.                       default '.skshinit' file.
  7106.  
  7107.             Example:  function run {
  7108.                          cmd="$1"
  7109.                          shift
  7110.                          $(which -s run) $(which $cmd) $*
  7111.                       }
  7112.  
  7113.             See Also: whence
  7114.  
  7115.           _________________________________________________________________
  7116.  
  7117.  
  7118.  
  7119.  
  7120.  
  7121.  
  7122.  
  7123.  
  7124.  
  7125.           SKsh Amiga Shell            Page 108            Reference Manual
  7126.  
  7127.  
  7128.  
  7129.  
  7130.  
  7131.  
  7132.  
  7133.  
  7134.  
  7135.           _________________________________________________________________
  7136.  
  7137.             Name:     while/do/done
  7138.  
  7139.             Type:     Keywords
  7140.  
  7141.             Default:  n/a
  7142.  
  7143.             Usage:    while expr do stmt_list done
  7144.  
  7145.             Range:    n/a
  7146.  
  7147.             About:    The  statement list  is  executed while the expres-
  7148.                       sion is true (returns a zero exit status).
  7149.  
  7150.             Example:  a=1
  7151.                       while [ $a -le 10 ]
  7152.                       do
  7153.                          echo "a = $a"
  7154.                       done
  7155.  
  7156.             See Also: for
  7157.  
  7158.           _________________________________________________________________
  7159.  
  7160.  
  7161.  
  7162.  
  7163.  
  7164.  
  7165.  
  7166.  
  7167.  
  7168.  
  7169.  
  7170.  
  7171.  
  7172.  
  7173.  
  7174.  
  7175.  
  7176.  
  7177.  
  7178.  
  7179.  
  7180.  
  7181.  
  7182.  
  7183.  
  7184.  
  7185.  
  7186.  
  7187.  
  7188.  
  7189.  
  7190.  
  7191.           SKsh Amiga Shell            Page 109            Reference Manual
  7192.  
  7193.  
  7194.  
  7195.